Connector
Connector membuat bot bisa bekerja di aplikasi lain (Gmail, Slack, Notion, GitHub, dan 1.600+ lainnya) memakai akun masing-masing pengguna. Kredensial tetap disimpan oleh penyedia integrasi: Lex hanya menyimpan referensinya dan memeriksa kebijakan di setiap aksi.
Mencari connector
GET /catalog/connectors?q=gmail&limit=30Setiap item berisi slug, name, logo, categories, toolsCount, dan usage.connected (apakah Anda sudah menghubungkannya). GET /catalog/connectors/{slug} menambahkan koneksi Anda dan daftar lengkap aksinya beserta cara masing-masing dijalankan.
Menghubungkan akun
POST /integrations/{slug}/connect
x-lex-client: aplikasi-saya
Content-Type: application/json
{ "returnTo": "/b/bot_123" }Jawabannya tergantung cara aplikasi itu login:
status | Yang perlu dilakukan |
|---|---|
requires_user_authorization | Arahkan pengguna ke authorizationUrl. Setelah login, ia kembali ke returnTo (path di aplikasi Lex). Lalu panggil POST /integrations/connections/{connectionId}/sync untuk konfirmasi. |
requires_credentials | Minta isian di fields (misalnya API key) lalu panggil connect lagi dengan { "credentials": { "generic_api_key": "…" } }. Nilainya langsung diteruskan ke penyedia dan tidak pernah ditampilkan lagi. |
connected | Selesai. |
pending | Penyedia belum mengonfirmasi; panggil sync lagi sebentar kemudian. |
returnTo harus berupa path yang diawali /; URL lengkap ditolak. Satu orang bisa menghubungkan beberapa akun untuk aplikasi yang sama; isi label untuk membedakannya.
Mengelola koneksi
GET /integrations/connections | Koneksi Anda dan statusnya |
PATCH /integrations/connections/{id} | Ganti nama (displayLabel) atau jadikan bawaan (isDefault: true) |
POST /integrations/connections/{id}/sync | Periksa ulang ke penyedia |
DELETE /integrations/connections/{id} | Putuskan koneksi |
PUT /connector-connections/{id}/bots | Izinkan bot memakai koneksi ini: { "botId": "…" } |
DELETE /connector-connections/{id}/bots/{botId} | Cabut izin itu |
Bot hanya bisa memakai koneksi yang sudah diizinkan untuknya. Chat tanpa bot bisa memakai semua koneksi Anda.
Kebijakan
Owner dan admin workspace menentukan apa yang boleh dilakukan setiap connector:
PUT /integrations/policies/gmail
x-lex-client: aplikasi-saya
Content-Type: application/json
{
"enabled": true,
"deniedTools": ["GMAIL_DELETE_MESSAGE"],
"autoRunTools": ["GMAIL_CREATE_EMAIL_DRAFT"],
"askTools": ["GMAIL_FETCH_EMAILS"]
}| Field | Efek |
|---|---|
enabled | false mematikan connector untuk semua orang di workspace |
deniedTools | Tidak pernah dijalankan |
askTools | Selalu bertanya dulu, termasuk aksi membaca |
autoRunTools | Tool write yang boleh berjalan tanpa bertanya (tool high-impact tetap bertanya) |
writeRequiresApproval | Bertanya sebelum tool write apa pun (bawaan true) |
allowedTools | Jika diisi, semua tool di luar daftar ini diblokir |
Tanpa kebijakan, connector aktif, aksi membaca berjalan sendiri, dan sisanya bertanya dulu.
Menjalankan tool langsung
POST /integrations/tools/GMAIL_FETCH_EMAILS/execute
x-lex-client: aplikasi-saya
Content-Type: application/json
{ "arguments": { "max_results": 5 }, "idempotencyKey": "inbox-2026-10-22" }Lex memakai koneksi bawaan Anda untuk aplikasi itu; Anda tidak bisa mengarahkan tool ke akun orang lain. Argumen divalidasi terhadap skema tool sebelum apa pun dijalankan, dan rahasia di output disamarkan. Tool write perlu approval.
GET /integrations/tools/search?q=send email mencari tool di semua connector yang bisa Anda pakai.
