Actions

Login Actions

Kumpulkan dan simpan informasi user untuk pengalaman yang personal

Apa itu Login Action?

Login Action adalah jenis action khusus yang digunakan untuk mengumpulkan dan menyimpan informasi user ke dalam Persistent Context. Ini memungkinkan agent Anda untuk "mengingat" siapa user tersebut dan memberikan pengalaman yang personal dan kontekstual.

Contoh Penggunaan:
  • • Login dengan username & password
  • • Verifikasi nomor telepon dengan OTP
  • • Autentikasi dengan email & token
  • • Login dengan ID customer
Identifikasi User

Verifikasi identitas user melalui API eksternal

Simpan Context

Simpan informasi user di Persistent Context

Private Actions

Unlock akses ke Private Actions lainnya

Prasyarat

Persistent Context Aktif

Login Action hanya bisa dibuat jika Persistent Context sudah diaktifkan di Agent Settings.

API Login/Verifikasi

Anda perlu API endpoint untuk memverifikasi kredensial user dan mengembalikan data user.

Cara Membuat Login Action

1

Buka Halaman Resources

Masuk ke halaman agent Anda dan klik tab "Resources" di navigasi atas.

Halaman Agent

Tab Resources di halaman agent

2

Klik Create Action

Di section Actions, klik tombol "Create Action".

3

Pilih Jenis "Login"

Dari pilihan jenis action, pilih "Login".

4

Isi Konfigurasi Action

Nama Action

Beri nama deskriptif seperti "Login dengan Email" atau "Verifikasi OTP".

Login dengan Email & Password
Deskripsi

Jelaskan dengan detail apa yang dilakukan action ini. Ini membantu LLM memutuskan kapan harus menjalankan action.

Verifikasi identitas user dengan email dan password. Jika berhasil, simpan user ID, nama, email, dan token untuk digunakan di action selanjutnya.
Konfigurasi API
POST
https://api.example.com/auth/login
Content-Type: application/json
{
  "email": "<email>",
  "password": "<password>"
}
Parameter yang Dikumpulkan

Tentukan parameter apa yang perlu dikumpulkan dari user:

email - Email user
password - Password user
5

Mapping Response ke Context

Bagian terpenting dari Login Action adalah mapping response API ke Persistent Context. Di sini Anda tentukan field mana yang akan disimpan.

Contoh Response API: { "success": true, "data": { "user_id": "12345", "name": "John Doe", "email": "john@example.com", "phone": "+6281234567890", "token": "eyJhbGc..." } }
Context Mapping:
data.user_id user_id
data.name name
data.email email
data.phone phone
data.token token
6

Set Success Condition

Tentukan kondisi yang menandakan login berhasil. Ini membantu agent mengetahui apakah perlu mencoba lagi atau tidak.

response.success == true
status_code == 200
7

Simpan dan Test

Klik "Save" untuk menyimpan Login Action. Sekarang coba test di chat interface!

Login Action siap digunakan!

Bagaimana Login Action Bekerja?

1
User Memulai Percakapan

User berbicara dengan agent. Agent mendeteksi bahwa ada Private Action yang memerlukan login.

2
Agent Meminta Login

Agent akan bertanya kepada user untuk menyediakan kredensial (email, password, atau info lain yang dibutuhkan).

3
Verifikasi ke API

Agent mengirim kredensial ke API login Anda untuk diverifikasi.

4
Simpan Context

Jika berhasil, sistem menyimpan data user dari response API ke Persistent Context.

5
Context Tersedia

Sekarang semua Private Actions bisa mengakses context ini. User tidak perlu login lagi sampai session habis.

Field Context yang Disarankan

Berikut adalah field context yang umum digunakan. Anda bisa menyesuaikan sesuai kebutuhan:

user_id

ID unik user di sistem Anda

name

Nama lengkap user

email

Email user

phone

Nomor telepon user

token

Token autentikasi untuk API calls

company_id

ID perusahaan user (B2B)

Tips:

Simpan field yang sering digunakan di Private Actions. Misalnya, jika Private Actions perlu user_id dan token, pastikan kedua field tersebut disimpan oleh Login Action.

Keamanan & Session

Secure Storage

Context data disimpan secara aman di database dan hanya bisa diakses oleh agent dan user yang memiliki session.

Session Management Modes

Sistem mendukung dua mode session management yang dapat disesuaikan dengan kebutuhan Anda:

Fully Persistent (Default)

Session tidak pernah expire, aktif sampai user logout manual

Time-Based Expiration

Token expire setelah waktu tertentu, bisa auto-refresh sebelum expire

  • Simpan refresh_token dan expired_at
  • Buat Private Action untuk refresh
  • Agent auto-refresh sebelum expire
Jangan Simpan Password

Jangan pernah menyimpan password user di Persistent Context. Simpan hanya data yang diperlukan untuk identifikasi dan authorization (seperti user ID dan token).

Best Practices

Deskripsi yang Jelas

Beri deskripsi detail tentang kredensial apa yang dibutuhkan dan untuk apa.

Validasi di Backend

Selalu validasi kredensial di backend API Anda, jangan percaya input user.

Gunakan Token

Simpan authentication token di context untuk digunakan di Private Actions.

Handle Gagal dengan Baik

Set kondisi gagal yang jelas agar agent bisa memberi feedback yang tepat.

Simpan Field Esensial Saja

Simpan hanya data yang benar-benar diperlukan untuk Private Actions.

Feedback User-Friendly

Pastikan API response memberikan pesan error yang jelas untuk user.

Troubleshooting

Login Action tidak muncul

Solusi:

  • Pastikan Persistent Context sudah diaktifkan di Agent Settings
  • Refresh halaman dan coba lagi
Context tidak tersimpan setelah login

Solusi:

  • Periksa mapping response ke context field
  • Pastikan path response API benar (misal: data.user_id bukan user_id)
  • Cek success condition, pastikan sesuai dengan response API
Agent tidak meminta login

Solusi:

  • Pastikan ada Private Action yang memerlukan login
  • Beri deskripsi jelas di Login Action tentang kredensial yang dibutuhkan
  • Test dengan mencoba trigger Private Action
Session terlalu cepat expire

Penjelasan:

Session diperpanjang setiap kali user berinteraksi. Default expiry adalah 24 jam tidak aktif. Ini adalah perilaku normal untuk keamanan.

Langkah Selanjutnya