Persistent Context API
Sistem session management untuk agent yang berinteraksi dengan user-specific data
Apa itu Persistent Context?
Persistent Context adalah fitur yang memungkinkan agent "mengingat" informasi user di berbagai percakapan. Mirip dengan sistem login, user hanya perlu login sekali dan agent akan menyimpan context mereka (user_id, token, email, dll) untuk digunakan dalam Private Actions.
User hanya perlu login satu kali, context disimpan untuk percakapan selanjutnya
Actions yang memerlukan user context, seperti check saldo atau transfer uang
Context disimpan di database dan tersedia kapan saja user berinteraksi
Konsep Utama
Login Action
Action khusus untuk autentikasi user. Hanya boleh ada 1 Login Action per agent. Login Action mengumpulkan data user (username, password) dan mengirim ke API login untuk mendapatkan token dan informasi user.
Response Mapping: Map response API ke context fields (user_id, token, email, name, dll)
Private Actions
HTTP Actions yang ditandai sebagai "Private" dan memerlukan Persistent Context untuk dijalankan. Private Actions dapat menggunakan placeholders seperti <user_id> atau <token> yang otomatis diganti dengan data dari context user.
Contoh: Check saldo, transfer uang, update profile, lihat riwayat transaksi
Logout Action
User dapat logout kapan saja melalui percakapan dengan agent. Logout akan menghapus semua context data dari session. User perlu login ulang untuk menggunakan Private Actions lagi.
Otomatis: Agent dapat meminta logout jika user request, tidak perlu action khusus
Session Management Modes
Persistent Context mendukung dua mode session management yang dapat disesuaikan dengan kebutuhan sistem Anda:
Mode 1: Fully Persistent (Default)
Session tidak memiliki batas waktu expire dan tetap aktif sampai user logout secara manual.
✓ Kelebihan
- • User experience lebih baik
- • Tidak perlu re-login berkala
- • Cocok untuk aplikasi konsumen
⚠ Pertimbangan
- • Implementasikan logout manual
- • Edukasi user tentang keamanan
- • Monitor aktivitas mencurigakan
Mode 2: Time-Based Expiration
Session memiliki masa berlaku dan dapat di-refresh secara otomatis oleh agent sebelum expire.
Cara Kerja:
- 1. Login Action menyimpan
refresh_tokendanexpired_at - 2. Buat Private HTTP Action untuk refresh token
- 3. Agent otomatis refresh sebelum token expire
- 4. Jika refresh gagal, user diminta login ulang
✓ Kelebihan
- • Keamanan lebih tinggi
- • Cocok untuk banking/fintech
- • Sesuai standar OAuth2
⚠ Pertimbangan
- • Setup lebih kompleks
- • Perlu refresh action
- • User perlu re-login jika expire
Implementation Flow
Enable Persistent Context
Di Agent Settings, aktifkan "Enable Persistent Context" untuk mengizinkan agent menggunakan fitur ini.
Create Login Action
Buat 1 Login Action yang akan mengumpulkan username & password, lalu kirim ke API login Anda.
Create Private Actions
Buat HTTP Actions dan centang "Private" checkbox. Gunakan placeholders untuk akses context data.
Contoh URL:
https://api.bank.com/balance Contoh Header:
Authorization: Bearer <token>Test Your Agent
Test percakapan dengan agent. User akan diminta login, kemudian Private Actions dapat dijalankan dengan context user.
Keamanan
Context data disimpan secara aman di database dan hanya bisa diakses oleh agent dan user yang memiliki session.
Setiap user memiliki session terpisah. Context user A tidak dapat diakses oleh user B.
Gunakan HTTPS untuk semua API calls. Jangan pernah expose API keys atau tokens di client-side code.
Best Practices
Minimal Context Fields
Hanya simpan data yang benar-benar diperlukan. Hindari menyimpan data sensitif yang tidak perlu.
Clear Error Messages
Berikan pesan error yang jelas saat login gagal atau session expire.
Test All Scenarios
Test login success, login fail, Private Actions, dan logout untuk memastikan flow bekerja dengan baik.
Monitor Sessions
Monitor aktivitas session untuk mendeteksi anomali atau potential security issues.
Related Resources
Login Action Tutorial
Panduan lengkap cara membuat Login Action dan mengonfigurasi response mapping
HTTP Action Tutorial
Pelajari cara membuat Private HTTP Actions yang menggunakan Persistent Context
Agent Settings
Cara mengaktifkan Persistent Context di agent settings
Chat Interface
Lihat bagaimana Persistent Context bekerja dari perspektif end-user