Skip to content

Approval ​

Bot bebas membaca, tapi apa pun yang mengirim, membuat, mengubah, atau menghapus di luar Lex menunggu persetujuan manusia. Setiap tool punya kelas risiko:

RisikoContohBawaan
readMengambil email, melihat daftar channelBerjalan sendiri
writeMengirim email, membuat issueBertanya dulu
high_impactMenghapus repositorySelalu bertanya, walaupun kebijakan mengizinkan auto-run

Admin workspace bisa mengubah aturan bawaan per connector lewat kebijakan: memblokir tool, selalu bertanya, atau membiarkan tool write tertentu berjalan sendiri.

Di dalam chat ​

Saat run perlu persetujuan, stream mengirim approval.required lalu run.waiting:

json
{ "approvalId": "apr_1", "callId": "call_9", "toolSlug": "GMAIL_SEND_EMAIL",
  "risk": "write", "summary": "Send email to bob@example.com", "expiresAt": "2026-10-22T10:15:00.000Z" }

Tampilkan ringkasannya ke pengguna dan kirim keputusannya:

http
POST /approvals/apr_1/decision
x-lex-client: aplikasi-saya
Content-Type: application/json

{ "decision": "approve" }

decision bernilai approve atau reject. Run berlanjut sendiri: tool yang ditolak melaporkan tool.completed dengan status: "rejected", dan bot melanjutkan tanpa tool itu.

GET /approvals/pending menampilkan semua approval yang menunggu pengguna yang sedang login, dari semua bot.

Jaminan ​

  • Hanya peminta yang memutuskan. Pengguna lain mendapat 404 NOT_FOUND.
  • Terikat pada aksi yang persis sama. Satu approval hanya berlaku untuk satu pemanggilan tool dengan argumen tertentu. Kalau argumennya berubah, approval tidak berlaku lagi.
  • Sekali pakai. Setelah dipakai, approval tidak bisa menjalankan aksi itu lagi.
  • Kedaluwarsa. Approval yang tidak diputuskan kedaluwarsa pada expiresAt; tool-nya lalu selesai dengan status: "expired".

Memanggil tool langsung ​

POST /integrations/tools/{toolSlug}/execute menjalankan tool di luar chat. Tool write menjawab 409 APPROVAL_REQUIRED dengan details.approvalId; setujui seperti di atas, lalu ulangi request yang sama dengan approvalId tersebut:

json
{ "arguments": { "to": "bob@example.com", "body": "Halo" }, "approvalId": "apr_1" }

Lex oleh Gavalytics AI