Crisp
Send messages and manage conversations in Crisp live chat.
On this page
Connect
Auth type: API key (secret_text). Paste the API key (or token) from the provider's settings into the connect dialog. It is encrypted at rest and only decrypted on the server when an action runs.
- In the editor: Backend panel, Integrations tab, then Connect. This connects it for the project.
- For every project in a workspace: Workspace settings, Integrations.
- Owners and admins choose which integrations members may connect in the admin panel (Integrations tab), and can attach their own OAuth app there.
Call it from a workflow
Pass the action name and its input. The call resolves with { success, output, error? }; a missing connection resolves with success false and the reason. See ctx.integrations.invoke and ctx.integrations.call.
// .workflow.js (native ctx)
export async function run(ctx) {
const res = await ctx.integrations.invoke("crisp", "create_conversation", {
"websiteId": "<website id>",
"email": "<customer email>",
"username": "<customer username>",
"messageFrom": "user",
"message": "<message>"
});
if (!res.success) throw new Error(res.error);
ctx.log.info("Crisp answered", { output: res.output });
}// defineWorkflow module (@app/sdk ctx)
import { defineWorkflow } from "@app/sdk";
export default defineWorkflow({
id: "crisp-create-conversation",
name: "Crisp: Create Conversation",
description: "Calls Crisp when a row is created.",
trigger: { type: "entity_event", entity: "tickets", event: "created" },
async run(ctx, event) {
const res = await ctx.integrations.call("crisp", {
"action": "create_conversation",
"websiteId": "<website id>",
"email": "<customer email>",
"username": "<customer username>",
"messageFrom": "user",
"message": "<message>"
}) as { success: boolean; error?: string };
if (!res.success) throw new Error(res.error);
},
});curl -X POST "$APP_ORIGIN/__appbricx/connector-proxy/crisp/create_conversation" \
-H "Authorization: Bearer $APP_KEY" \
-H "content-type: application/json" \
-d '{"props":{"websiteId":"<website id>","email":"<customer email>","username":"<customer username>","messageFrom":"user","message":"<message>"}}'Actions
create_conversationin catalog
Create Conversation. Creates a new conversation.
| Input | Type | Description |
|---|---|---|
websiteIdrequired | text | You can obtain website ID by navigating to Settings -> Workspace Settings -> Setup & Integrations. |
emailrequired | text | Customer Email |
usernamerequired | text | Customer Username |
messageFromrequired | one of "user" | "operator" | Message From |
messagerequired | long text | Message |
add_note
Add Note to Conversation. Adds an internal note to a conversation.
| Input | Type | Description |
|---|---|---|
websiteIdrequired | text | You can obtain website ID by navigating to Settings -> Workspace Settings -> Setup & Integrations. |
sessionIdrequired | text | You can obtain session from URL address bar.It starts with 'session_'. |
contentrequired | long text | Note Content |
change_state
Change Conversation State. Updates the state of a conversation.
| Input | Type | Description |
|---|---|---|
websiteIdrequired | text | You can obtain website ID by navigating to Settings -> Workspace Settings -> Setup & Integrations. |
sessionIdrequired | text | You can obtain session from URL address bar.It starts with 'session_'. |
staterequired | one of "unresolved" | "resolved" | "pending" | State |
create_update_contact
Create/Update Contact. Creates a new contact or updates an existing contact.
| Input | Type | Description |
|---|---|---|
websiteIdrequired | text | You can obtain website ID by navigating to Settings -> Workspace Settings -> Setup & Integrations. |
emailrequired | text | |
namerequired | text | Name |
phoneoptional | text | Phone Number |
addressoptional | long text | Address |
companyoptional | text | Company |
websiteoptional | text | Contact Website |
notepadoptional | long text | Notepad |
custom_api_call
Custom API Call. Make a custom API call to a specific endpoint
| Input | Type | Description |
|---|---|---|
urlrequired | object (depends on other props) | url |
methodrequired | one of "GET" | "POST" | "PATCH" | "PUT" | "DELETE" | "HEAD" | Method |
headersrequired | object | Authorization headers are injected automatically from your connection. |
queryParamsrequired | object | Query Parameters |
body_typeoptional | one of "none" | "json" | "form_data" | "raw" | Body Type |
bodyoptional | object (depends on other props) | Body |
response_is_binaryoptional | boolean | Enable for files like PDFs, images, etc. |
failsafeoptional | boolean | No Error on Failure |
timeoutoptional | number | Timeout (in seconds) |
followRedirectsoptional | boolean | Follow redirects |
find_conversation
Find Conversation. Searches for conversations matching the specified criteria.
| Input | Type | Description |
|---|---|---|
websiteIdrequired | text | You can obtain website ID by navigating to Settings -> Workspace Settings -> Setup & Integrations. |
searchQueryrequired | text | Search Query |
find_user_profile
Find User Profile. Finds a user profile by email address.
| Input | Type | Description |
|---|---|---|
websiteIdrequired | text | You can obtain website ID by navigating to Settings -> Workspace Settings -> Setup & Integrations. |
emailrequired | text | The email address of the user to find. |
Details
- Id
crisp- Category
- Customer support
- Tags
- live-chat, support, messaging, customer
- Package
@activepieces/piece-crisp@0.1.4- Tier
- Community