Persistent Context

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.

Login Sekali

User hanya perlu login satu kali, context disimpan untuk percakapan selanjutnya

Private Actions

Actions yang memerlukan user context, seperti check saldo atau transfer uang

Persistent Storage

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. 1. Login Action menyimpan refresh_token dan expired_at
  2. 2. Buat Private HTTP Action untuk refresh token
  3. 3. Agent otomatis refresh sebelum token expire
  4. 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

1

Enable Persistent Context

Di Agent Settings, aktifkan "Enable Persistent Context" untuk mengizinkan agent menggunakan fitur ini.

2

Create Login Action

Buat 1 Login Action yang akan mengumpulkan username & password, lalu kirim ke API login Anda.

Map response ke context fields: user_id, token, email, name, dll
3

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>
4

Test Your Agent

Test percakapan dengan agent. User akan diminta login, kemudian Private Actions dapat dijalankan dengan context user.

Keamanan

Secure Storage

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

Session Isolation

Setiap user memiliki session terpisah. Context user A tidak dapat diakses oleh user B.

Token Security

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