Crisp
Manage live-chat conversations, sessions, and contact profiles in Crisp via the Crisp REST API v1.
Operations
| Operation | Description | Required params |
|---|---|---|
list_conversations |
List conversations for the website (paginated) | websiteId, page (default 1) |
get_conversation |
Retrieve full details for a single conversation | websiteId, sessionId |
get_messages |
List all messages in a conversation | websiteId, sessionId |
send_message |
Send an operator message or private note into a conversation | websiteId, sessionId, messageContent, messageType (text/note) |
API Key Setup
- Log in to your Crisp dashboard.
- Go to Settings → Website → API & Webhooks.
- Under Access Tokens, click Generate Token.
- Copy both the Token Identifier and Token Key.
- Combine them as
token_identifier:token_key— that is the value forapiKey.
Your Website ID is shown in Settings → Website → Setup & Domain (it is a UUID).
Examples
List the first page of open conversations:
apiKey: abc123:secret456
websiteId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
operation: list_conversations
page: 1
Read all messages from a specific conversation:
apiKey: abc123:secret456
websiteId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
operation: get_messages
sessionId: session_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Send an operator reply:
apiKey: abc123:secret456
websiteId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
operation: send_message
sessionId: session_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
messageContent: Thanks for reaching out — we'll get back to you shortly.
messageType: text
Send a private note (visible to operators only):
apiKey: abc123:secret456
websiteId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
operation: send_message
sessionId: session_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
messageContent: Customer flagged as VIP — escalate if no response in 2h.
messageType: note
Auth
Uses HTTP Basic authentication per the Crisp Website Token scheme:
Authorization: Basic BASE64(token_id:token_key) plus X-Crisp-Tier: website.
No OAuth flow — a single token_id:token_key string is all that is needed.
Publishes
The keys a later task may reference as {{taskName.key}}. Referencing anything not listed here resolves to nothing at run time.
errorresultstatus
Input Properties
Every property this tool accepts, from its own tool.iml.
| Property | Type | Required | Default | Description |
|---|---|---|---|---|
apiKey |
string | yes | — | DEPRECATED — bind an API Key credential to the task with credentialName instead. A key pasted here is stored in the workflow definition in clear and appears in every export of it. Still honoured for workflows built before the change. |
websiteId |
string | yes | — | Crisp Website ID (UUID). Found in Crisp: Settings > Website > Setup & Domain. |
operation |
string | yes | — | One of: list_conversations, get_conversation, get_messages, send_message |
sessionId |
string | no | — | Conversation session ID. Required for get_conversation, get_messages, and send_message. |
page |
string | no | 1 |
Page number for list_conversations (default: 1). |
messageContent |
string | no | — | Message text to send. Required for send_message. |
messageType |
string | no | text |
Message type for send_message. One of: text, note (default: text). |