Actions

HTTP Actions

Panggil REST API eksternal untuk melakukan tindakan dari agent Anda

Apa itu HTTP Action?

HTTP Action memungkinkan agent Anda memanggil REST API eksternal untuk melakukan tindakan seperti mengirim email, membuat order, update database, dll. Agent akan otomatis mengekstrak informasi dari percakapan user dan mengirimkannya ke API.

Contoh Penggunaan:
  • • Kirim email ke tim support
  • • Buat order produk
  • • Update status pengiriman
  • • Kirim notifikasi WhatsApp

Cara Membuat HTTP Action

  1. 1
    Buka Resources → Actions
    Resources Page

    Halaman Resources Agent

    Dari halaman agent, klik tab "Resources" kemudian pilih "Actions" → "HTTP"

  2. 2
    Isi Name dan Description
    HTTP Action Form

    Form HTTP Action

    Berikan nama dan deskripsi yang jelas agar agent tahu kapan harus menggunakan action ini.

    Name *

    Nama singkat dan deskriptif untuk action ini

    Contoh: "Send Email to Support"
    Description *

    Jelaskan apa yang dilakukan action ini dan kapan agent harus menggunakannya

    Contoh: "Mengirim email ke tim support ketika user memiliki masalah yang perlu ditangani support"
  3. 3
    Masukkan URL API
    HTTP Action Form

    Form HTTP Action dengan URL dan Method

    Masukkan URL lengkap dari API dan pilih HTTP method

    Pilih HTTP Method:

    GET
    POST
    PUT
    PATCH
    DELETE

    Masukkan URL:

    https://api.example.com/support/email
    Dynamic Parameters

    Gunakan <param> untuk parameter dinamis:

    https://api.example.com/users/<userId>/orders
  4. 4
    Tambahkan Headers (Opsional)
    HTTP Action Headers

    Tambahkan Headers untuk Authentication

    Headers untuk authentication (API key, token) dan konfigurasi lainnya

    Authorization:

    Key: Authorization
    Value: Bearer sk-abc123...

    Content-Type:

    Key: Content-Type
    Value: application/json
  5. 5
    Definisikan Body Parameters
    HTTP Action Body Parameters

    Definisikan Body Parameters

    Data yang akan dikirim ke API. Agent akan ekstrak dari percakapan user.

    subject required

    Judul email

    message required

    Isi pesan dari user

    priority optional

    Prioritas: high, normal, low

    Agent akan mengirim JSON:

    { "subject": "...", "message": "...", "priority": "high" }
  6. 6
    Set Success Condition
    HTTP Action Success Condition

    Set Success Condition

    Tentukan kapan API call dianggap berhasil atau gagal

    STATUS CODE

    Cek HTTP status code

    Status Code = 200
    RESPONSE VALUE

    Cek nilai di response JSON

    response.status = "success"
  7. 7
    Test Konfigurasi
    Test HTTP Action

    Test HTTP Action

    Test sebelum menyimpan untuk memastikan API berfungsi

    Success

    ✅ Hijau = berhasil, ❌ Merah = gagal

    Status Code

    200 = OK, 404 = Not Found, 500 = Error

    Response

    Data dari API

    Execution Time

    Waktu respon (ms)

  8. 8
    Klik "Create"
    Action Created

    Action berhasil dibuat

    Jika test berhasil, klik "Create" untuk menyimpan. Action langsung siap digunakan!

    Siap Digunakan!

    Agent Anda sekarang bisa menggunakan action ini. Coba chat dan minta agent melakukan action!

🔐 Private Actions

Private Actions adalah HTTP Actions yang memerlukan Persistent Context. Actions ini bisa mengakses data user yang sudah login (user ID, email, phone, dll) dan mengirimkannya ke API.

Apa itu Private Actions?

HTTP Actions yang hanya bisa dijalankan jika user sudah "login" dengan Persistent Context. Berguna untuk actions yang memerlukan user-specific data seperti check order, update profile, transfer saldo, dll.

Cara Membuat Private Action
  1. 1. Aktifkan Persistent Context di Agent Settings
  2. 2. Buat Login Node untuk collect user data
  3. 3. Saat membuat HTTP Action, centang checkbox "Private"
  4. 4. Centang checkbox "Private" jika action memerlukan user context
Pengumpulan Context Otomatis

LLM akan secara otomatis menentukan data context apa yang diperlukan berdasarkan konfigurasi action Anda. Anda tidak perlu menentukan field mana yang harus dikumpulkan - AI akan menganalisis URL, headers, dan body untuk mengetahui data context apa yang dibutuhkan.

Bagaimana Cara Kerjanya?

Saat Anda menggunakan placeholder seperti <user_id> di URL, headers, atau body action Anda, sistem secara otomatis:

  1. 1. Mengidentifikasi field context yang diperlukan (misalnya: user_id, token, email)
  2. 2. Memeriksa apakah data sudah tersedia di Persistent Context
  3. 3. Jika belum ada, meminta user untuk login atau menyediakan informasi
  4. 4. Mengganti placeholder dengan data context yang sebenarnya saat eksekusi

Anda hanya perlu fokus pada desain action - biarkan AI yang mengelola pengumpulan data!

Contoh Nyata

Action "Check Saldo" untuk banking bot:

Tipe: Private (requires login)
URL: https://api.bank.com/balance
Header: Authorization: Bearer <token>
Hasil: API tahu user mana yang request karena dapat account_id dan token dari context
Keamanan
  • 🔒 Private Actions HANYA bisa dijalankan jika user sudah login
  • Context data disimpan secara aman di database
  • Gunakan Private Actions untuk semua operasi yang sensitive (transaksi, data pribadi)
Requirements untuk Private Actions
  • ⚠️ Persistent Context harus diaktifkan di Agent Settings
  • ⚠️ Login Node harus sudah dibuat dan configured
  • ⚠️ User harus sudah "login" sebelum bisa menggunakan Private Actions

⏱️ Context Requirement & Session

Context Requirement

Private Actions memerlukan user sudah memiliki Persistent Context aktif. Jika user belum login, agent akan otomatis meminta mereka login terlebih dahulu sebelum menjalankan action.

Flow Otomatis
  1. 1. User meminta action yang Private (misal: "Cek saldo saya")
  2. 2. Agent deteksi action ini Private dan perlu context
  3. 3. Jika user belum login, agent otomatis minta login dulu
  4. 4. Setelah login sukses, agent eksekusi action dengan context user
Contoh Dialog
USER

Cek saldo saya

AGENT

Untuk mengecek saldo, saya perlu Anda login terlebih dahulu. Silakan masukkan username dan password Anda.

USER

[mengisi login form]

AGENT

Saldo Anda saat ini adalah Rp 5.000.000

Session Management

Persistent Context mendukung dua mode session management: Fully Persistent (default) atau Time-Based Expiration dengan refresh logic.

♾️ Mode 1: Fully Persistent (Default)

Session tidak memiliki batas waktu kedaluwarsa dan tetap aktif sampai user logout secara manual.

  • Context user disimpan secara permanen di database
  • User tidak perlu login ulang, bahkan setelah berhari-hari tidak aktif
  • Private Actions selalu tersedia tanpa perlu autentikasi ulang
  • Cocok untuk: aplikasi yang memerlukan kemudahan akses jangka panjang
⏱️ Mode 2: Time-Based Expiration

Session memiliki masa berlaku dan dapat di-refresh secara otomatis oleh agent.

  • Expiration Time: Token/session expire setelah waktu tertentu (misal: 1 jam, 24 jam, 30 hari)
  • Auto Refresh: Agent dapat memiliki HTTP Action untuk refresh token sebelum expire
  • Seamless: User tidak perlu login ulang jika refresh berhasil
  • Re-login: Jika refresh gagal atau token benar-benar expire, user diminta login ulang
  • Cocok untuk: sistem dengan token API pihak ketiga yang memiliki expiration
🚪 Manual Logout (Berlaku untuk Semua Mode)

User dapat logout kapan saja untuk menghapus context mereka, terlepas dari mode session yang digunakan:

  • User bisa meminta logout melalui percakapan dengan agent
  • Setelah logout, semua context dan token dihapus dari session
  • User perlu login ulang untuk menggunakan Private Actions lagi
💡 Implementasi Refresh Logic

Untuk menggunakan Time-Based Expiration dengan auto-refresh:

  1. 1. Simpan refresh_token dan expired_at di Login Action response mapping
  2. 2. Buat Private HTTP Action untuk refresh token (misal: "Refresh Token")
  3. 3. Agent akan otomatis memanggil refresh action sebelum token expire
  4. 4. Response dari refresh action akan update context dengan token baru
🔒 Keamanan Session

Context data disimpan secara aman di database dan hanya bisa diakses oleh agent dan user yang memiliki session. Mode Time-Based Expiration memberikan layer keamanan tambahan dengan membatasi masa berlaku token.

Best Practices
  • Informasikan user bahwa mereka perlu login untuk actions tertentu
  • Buat pesan error yang jelas jika session expire
  • Gunakan Private Actions hanya untuk data yang memang perlu authentication
  • Test flow login dan re-login untuk memastikan UX smooth

Tips & Best Practices

Deskripsi Jelas

Tulis deskripsi detail agar agent tahu kapan menggunakan action

Test Dulu

Selalu test sebelum menyimpan

Parameter Jelas

Beri deskripsi jelas di setiap parameter

Gunakan Success Condition

Set condition agar agent beri feedback tepat