AI Actions
Dział zatytułowany „AI Actions”AI Actions rozszerzają możliwości Twojego AI Agenta poza odpowiadanie na pytania z Bazy Wiedzy. Pozwalają zdefiniować wyzwalane zachowania — czynności, które AI powinien wykonać, gdy wykryje określone sytuacje w rozmowie.
Co robią AI Actions:
- HTTP Request Actions — Wywołują zewnętrzne API po wyzwoleniu. Na przykład sprawdzają status zamówienia w Twoim backendzie, tworzą zgłoszenie do supportu lub wyszukują informacje o koncie — wszystko w trakcie rozmowy.
- Akcje MCP: Łączą się z serwerami Model Context Protocol w celu zaawansowanych integracji narzędziowych (np. wyszukiwanie produktów w Shopify, niestandardowe zapytania do bazy danych).
Typowe zastosowania:
- Wyszukiwanie informacji w czasie rzeczywistym (status zamówienia, szczegóły konta, stan magazynu) z Twoich systemów backendowych podczas rozmów
- Tworzenie zgłoszeń, aktualizowanie rekordów w CRM lub wyzwalanie workflow w systemach zewnętrznych na podstawie kontekstu rozmowy
- Dostarczanie spersonalizowanych rekomendacji poprzez odpytywanie Twojego katalogu produktów
Każda akcja ma name, description (w przypadku HTTP Request Actions opis mówi AI, kiedy ją wyzwolić) oraz konfigurację zależną od typu. Akcje można włączać/wyłączać indywidualnie przez API. Akcje są tworzone i w pełni konfigurowane w Dashboardzie Quickchat — API udostępnia operacje listowania, aktualizacji (włączanie/wyłączanie) i usuwania, a także dedykowane endpointy do tworzenia i konfigurowania Akcji MCP.
List All AI Actions
Dział zatytułowany „List All AI Actions”GET https://app.quickchat.ai/v1/api/ai_actions
curl https://app.quickchat.ai/v1/api/ai_actions \ -H 'Authorization: Bearer <API_TOKEN>'import requests
response = requests.get( url="https://app.quickchat.ai/v1/api/ai_actions", headers={"Authorization": "Bearer <API_TOKEN>"},)data = response.json()Response 200 OK
[ { "id": 1, "name": "Check Order Status", "description": "Look up order status when customer asks about their order.", "is_active": true, "type": "http_request", "icon": null, "icon_color": null, "is_valid": true }]| Field | Description |
|---|---|
id integer | Identyfikator AI Action |
name string | Nazwa wyświetlana |
description string | Kiedy akcja się wyzwala |
is_active boolean | Czy włączona |
type string | "http_request", "remote_mcp", "shopify_remote_mcp" lub "knowledge_base" |
icon string or null | Identyfikator ikony |
icon_color string or null | Kolor ikony |
is_valid boolean | Czy poprawnie skonfigurowana |
Update AI Action
Dział zatytułowany „Update AI Action”PATCH https://app.quickchat.ai/v1/api/ai_actions/{action_id}
Request Body
| Parameter | Description |
|---|---|
is_active boolean | Włącz/wyłącz akcję |
icon string | Identyfikator ikony (maks. 200 znaków) |
icon_color string | Kolor ikony (maks. 50 znaków) |
curl -X PATCH https://app.quickchat.ai/v1/api/ai_actions/1 \ -H 'Authorization: Bearer <API_TOKEN>' \ -H 'Content-Type: application/json' \ -d '{"is_active": false}'import requests
response = requests.patch( url="https://app.quickchat.ai/v1/api/ai_actions/1", headers={"Authorization": "Bearer <API_TOKEN>"}, json={"is_active": False},)data = response.json()Response 200 OK — Zwraca zaktualizowany snapshot AI Action.
Delete AI Action
Dział zatytułowany „Delete AI Action”DELETE https://app.quickchat.ai/v1/api/ai_actions/{action_id}
curl -X DELETE https://app.quickchat.ai/v1/api/ai_actions/1 \ -H 'Authorization: Bearer <API_TOKEN>'import requests
response = requests.delete( url="https://app.quickchat.ai/v1/api/ai_actions/1", headers={"Authorization": "Bearer <API_TOKEN>"},)Response 200 OK (puste body)
Create MCP Action
Dział zatytułowany „Create MCP Action”POST https://app.quickchat.ai/v1/api/ai_actions/remote_mcp
Łączy zdalny serwer MCP z Twoim Agentem AI jako Akcję MCP. Wymaga tokenu API ze scope write_all (tokeny API wymagają planu Business lub wyższego).
Request Body
| Parameter | Description |
|---|---|
remote_mcp_url string, required | URL serwera MCP. Musi używać https://; URL-e wskazujące prywatne lub wewnętrzne adresy sieciowe są odrzucane |
headers array, required | Nagłówki połączenia wysyłane do serwera, np. statyczny token Authorization. Każdy wpis to {"id", "name", "value"} — jako id wybierz dowolny unikalny string. Wyślij [], jeśli serwer żadnych nie potrzebuje |
allowed_tools array, required | Przełączniki per narzędzie, każdy {"name", "is_active"}. Wyślij [], aby o dostępności narzędzi decydowało default_tool_is_active |
name string | Nazwa wyświetlana na liście akcji (maks. 100 znaków). Domyślnie etykieta wyprowadzona z hosta serwera |
description string | Opis wyświetlany na liście akcji (maks. 2500 znaków) |
icon string | Identyfikator ikony (maks. 200 znaków) |
icon_color string | Kolor ikony (maks. 50 znaków) |
name i description to etykiety dla operatorów: identyfikują akcję w dashboardzie, a AI nigdy ich nie czyta. AI pracuje na opisach narzędzi publikowanych przez sam serwer MCP.
curl -X POST https://app.quickchat.ai/v1/api/ai_actions/remote_mcp \ -H 'Authorization: Bearer <API_TOKEN>' \ -H 'Content-Type: application/json' \ -d '{ "remote_mcp_url": "https://mcp.example.com/mcp", "headers": [ {"id": "h-1", "name": "Authorization", "value": "Bearer <SERVER_TOKEN>"} ], "allowed_tools": [], "name": "Example MCP" }'import requests
response = requests.post( url="https://app.quickchat.ai/v1/api/ai_actions/remote_mcp", headers={"Authorization": "Bearer <API_TOKEN>"}, json={ "remote_mcp_url": "https://mcp.example.com/mcp", "headers": [ {"id": "h-1", "name": "Authorization", "value": "Bearer <SERVER_TOKEN>"} ], "allowed_tools": [], "name": "Example MCP", },)data = response.json()Response 201 Created
{ "id": 2, "name": "Example MCP", "description": "Connected MCP server", "is_active": false, "type": "remote_mcp", "icon": "FaMixcloud", "icon_color": "#EF4444", "is_valid": true, "validation_issues": [], "remote_mcp_url": "https://mcp.example.com/mcp", "remote_mcp_auth_token": "", "default_tool_is_active": true, "allowed_tools": [], "headers": [ {"id": 10, "name": "Authorization", "value": "Bearer <SERVER_TOKEN>"} ], "oauth": null, "recommended_tools": []}| Field | Description |
|---|---|
remote_mcp_url string | URL połączonego serwera MCP |
default_tool_is_active boolean | Czy wolno używać narzędzi niewymienionych w allowed_tools |
allowed_tools array | Przełączniki per narzędzie, {"name", "is_active"} |
headers array | Zapisane nagłówki połączenia |
remote_mcp_auth_token string or null | Pole legacy na statyczny token. Nie da się go ustawić przez to API — dane uwierzytelniające przekazuj przez headers |
oauth object or null | Status autoryzacji serwerów połączonych przez logowanie OAuth (w przeciwnym razie null) |
recommended_tools array | Nazwy narzędzi rekomendowane przez Quickchat dla serwerów z profilem dostrojonym przez Quickchat (tylko do odczytu) |
validation_issues array | Nazwy niezaliczonych kontroli konfiguracji; puste, gdy is_valid jest true |
Pozostałe pola odpowiadają List All AI Actions.
Akcja jest tworzona z is_active: false. Dla serwerów bez profilu dostrojonego przez Quickchat startuje też z default_tool_is_active: true, więc każde narzędzie odkryte w momencie odpowiedzi jest dozwolone, dopóki go nie ograniczysz. Aby włączyć akcję, użyj endpointu Update AI Action powyżej: PATCH /v1/api/ai_actions/{action_id} z {"is_active": true}.
Get MCP Action Configuration
Dział zatytułowany „Get MCP Action Configuration”GET https://app.quickchat.ai/v1/api/ai_actions/{action_id}/remote_mcp
curl https://app.quickchat.ai/v1/api/ai_actions/2/remote_mcp \ -H 'Authorization: Bearer <API_TOKEN>'import requests
response = requests.get( url="https://app.quickchat.ai/v1/api/ai_actions/2/remote_mcp", headers={"Authorization": "Bearer <API_TOKEN>"},)data = response.json()Response 200 OK — Zwraca konfigurację specyficzną dla MCP, w tym samym kształcie co odpowiedź przy tworzeniu powyżej.
Update MCP Action Configuration
Dział zatytułowany „Update MCP Action Configuration”PATCH https://app.quickchat.ai/v1/api/ai_actions/{action_id}/remote_mcp
Wszystkie pola są opcjonalne; zmieniają się tylko pola, które wyślesz.
Request Body
| Parameter | Description |
|---|---|
remote_mcp_url string | Nowy URL serwera (walidowany jak przy tworzeniu). Zmiana URL serwera połączonego przez OAuth usuwa zapisaną autoryzację i wyłącza akcję |
headers array | Zastępuje nagłówki połączenia |
allowed_tools array | Zastępuje przełączniki per narzędzie, każdy {"name", "is_active"} |
default_tool_is_active boolean | Czy wolno używać narzędzi niewymienionych w allowed_tools |
name string | Nazwa wyświetlana (maks. 100 znaków) |
description string | Opis wyświetlany na liście akcji (maks. 2500 znaków) |
curl -X PATCH https://app.quickchat.ai/v1/api/ai_actions/2/remote_mcp \ -H 'Authorization: Bearer <API_TOKEN>' \ -H 'Content-Type: application/json' \ -d '{ "allowed_tools": [ {"name": "search_docs", "is_active": true}, {"name": "delete_page", "is_active": false} ], "default_tool_is_active": false }'import requests
response = requests.patch( url="https://app.quickchat.ai/v1/api/ai_actions/2/remote_mcp", headers={"Authorization": "Bearer <API_TOKEN>"}, json={ "allowed_tools": [ {"name": "search_docs", "is_active": True}, {"name": "delete_page", "is_active": False}, ], "default_tool_is_active": False, },)data = response.json()Response 200 OK — Zwraca zaktualizowaną Akcję MCP, w tym samym kształcie co odpowiedź przy tworzeniu.