Crisp

App · Help Desk · 20 actions

Work Crisp conversations, messages and contact profiles with a workspace API token.

Actions

ActionWhat it does
Add Crisp people eventAdd an event, such as 'Upgraded plan', to a profile's timeline.
Assign Crisp conversationAssign a conversation to an operator.
Change Crisp conversation stateMark a conversation pending, unresolved or resolved.
Create Crisp conversationStart a new conversation, optionally naming the visitor.
Create Crisp people profileAdd a contact profile.
Delete Crisp conversationPermanently delete a conversation and its messages.
Delete Crisp people profilePermanently delete a contact profile.
Get Crisp availabilityWhether the workspace shows as online, away or offline.
Get Crisp conversationGet a conversation's state, visitor and unread counts.
Get Crisp people profileGet a contact profile by people ID or email.
Get Crisp visitor detailsGet the visitor details on a conversation: name, email, phone, segments, custom data and location.
Get Crisp workspaceGet the connected workspace's name, domain and status.
List Crisp conversationsList conversations with optional search, status, assignment and date filters.
List Crisp messagesGet the latest batch of messages in a conversation.
List Crisp operatorsList the workspace's operators (team members).
List Crisp people profilesList contact profiles, with optional search and dates.
Mark Crisp messages readMark a conversation's messages as read: all of them, or only the listed fingerprints.
Send Crisp messageSend a text message, or an internal note only your team sees, into a conversation.
Update Crisp people profileChange a contact profile.
Update Crisp visitor detailsSet the visitor's name, email, phone, subject, segments or custom data on a conversation.

Add Crisp people event

Add an event, such as 'Upgraded plan', to a profile's timeline.

Inputs

People ID or emailpeople_idtextRequired
The profile's people ID (from List or Create people profile), its email address, or its address in the Crisp app.
EventtexttextRequired
What happened.
Colourcolortext
Optional colour for the event.One of: red, orange, yellow, green, blue, purple, pink, brown, grey, black.
Event datadataobject
Optional key/value details for the event.

Outputs

colortext
people_idtext
texttext
Example output
{
  "color": "green",
  "people_id": "c5a2f70c-f605-4648-b47f-8c39d4b03a50",
  "text": "Upgraded plan"
}

Assign Crisp conversation

Assign a conversation to an operator. Assignment may need a paid Crisp plan.

Inputs

Conversation session IDsession_idtextRequired
The conversation, as session_... (from List conversations or Create conversation) or its address in the Crisp inbox.
Operatoroperator_idtextRequired
The operator to assign it to.
Don't notify the operatorsilenttrue/false
Assign without notifying the operator.Default: false.

Outputs

assigned_user_idtext
session_idtext
Example output
{
  "assigned_user_id": "a4c32c68-be91-4e29-8a05-976e93abbe3f",
  "session_id": "session_700c65e1-85e2-465a-b9ac-ecb5ec2c9881"
}

Change Crisp conversation state

Mark a conversation pending, unresolved or resolved.

Inputs

Conversation session IDsession_idtextRequired
The conversation, as session_... (from List conversations or Create conversation) or its address in the Crisp inbox.
StatestatetextRequired
The new state.One of: pending, unresolved, resolved.

Outputs

session_idtext
statetext
Example output
{
  "session_id": "session_700c65e1-85e2-465a-b9ac-ecb5ec2c9881",
  "state": "resolved"
}

Create Crisp conversation

Start a new conversation, optionally naming the visitor. Crisp only shows it in the inbox once the visitor has sent a message, so fill in First message to make it visible.

Inputs

Visitor namenicknametext
The visitor's name.
Visitor emailemailtext
The visitor's email.
First message (from the visitor)first_messagetext
Posted as the visitor's opening message.

Outputs

emailtext
first_message_fingerprintnumber
nicknametext
session_idtext
Example output
{
  "email": "jordan@example.com",
  "first_message_fingerprint": 150912675256156,
  "nickname": "Jordan Avery",
  "session_id": "session_700c65e1-85e2-465a-b9ac-ecb5ec2c9881"
}

Create Crisp people profile

Add a contact profile. The Free plan holds up to 100 profiles.

Inputs

EmailemailtextRequired
The person's email; unique within the workspace.
NamenicknametextRequired
The person's full name.
Phonephonetext
Phone number.
Addressaddresstext
Postal address.
Descriptiondescriptiontext
A short description.
Websitewebsitetext
The person's website URL.
Gendergendertext
Optional.One of: male, female.
Companycompany_nametext
The company the person works for.
Job titlejob_titletext
Their job title (needs Company to be set).
Segmentssegmentslist
Segment tags for the profile.
Notepadnotepadtext
Private notes about the person.

Outputs

emailtext
nicknametext
people_idtext
Example output
{
  "email": "jordan@example.com",
  "nickname": "Jordan Avery",
  "people_id": "c5a2f70c-f605-4648-b47f-8c39d4b03a50"
}

Delete Crisp conversation

Permanently delete a conversation and its messages.

Inputs

Conversation session IDsession_idtextRequired
The conversation, as session_... (from List conversations or Create conversation) or its address in the Crisp inbox.

Outputs

deletedtrue/false
session_idtext
Example output
{
  "deleted": true,
  "session_id": "session_700c65e1-85e2-465a-b9ac-ecb5ec2c9881"
}

Delete Crisp people profile

Permanently delete a contact profile.

Inputs

People ID or emailpeople_idtextRequired
The profile's people ID (from List or Create people profile), its email address, or its address in the Crisp app.

Outputs

deletedtrue/false
people_idtext
Example output
{
  "deleted": true,
  "people_id": "c5a2f70c-f605-4648-b47f-8c39d4b03a50"
}

Get Crisp availability

Whether the workspace shows as online, away or offline. It is online when at least one operator is online.

Inputs

None.

Outputs

sincenumber
statustext
Example output
{
  "since": 1772452353000,
  "status": "online"
}

Get Crisp conversation

Get a conversation's state, visitor and unread counts.

Inputs

Conversation session IDsession_idtextRequired
The conversation, as session_... (from List conversations or Create conversation) or its address in the Crisp inbox.

Outputs

active_nowtrue/false
assigned_user_idtext
availabilitytext
created_atnumber
emailtext
inbox_idtext
is_blockedtrue/false
is_verifiedtrue/false
last_messagetext
nicknametext
origintext
people_idtext
phonetext
segmentslist
session_idtext
statetext
subjecttext
topictext
unread_by_operatornumber
unread_by_visitornumber
updated_atnumber
waiting_sincenumber
website_idtext
Example output
{
  "active_now": false,
  "assigned_user_id": "a4c32c68-be91-4e29-8a05-976e93abbe3f",
  "availability": "offline",
  "created_at": 1772452353000,
  "email": "jordan@example.com",
  "inbox_id": "",
  "is_blocked": false,
  "is_verified": false,
  "last_message": "Hi, I need help with my order",
  "nickname": "Jordan Avery",
  "origin": "",
  "people_id": "c5a2f70c-f605-4648-b47f-8c39d4b03a50",
  "phone": "",
  "segments": [],
  "session_id": "session_700c65e1-85e2-465a-b9ac-ecb5ec2c9881",
  "state": "unresolved",
  "subject": "",
  "topic": "",
  "unread_by_operator": 1,
  "unread_by_visitor": 0,
  "updated_at": 1772452400000,
  "waiting_since": 0,
  "website_id": "8c842203-7ed8-4e29-a608-7cf78a7d2fcc"
}

Get Crisp people profile

Get a contact profile by people ID or email.

Inputs

People ID or emailpeople_idtextRequired
The profile's people ID (from List or Create people profile), its email address, or its address in the Crisp app.

Outputs

addresstext
avatartext
company_nametext
created_atnumber
descriptiontext
emailtext
gendertext
job_titletext
last_active_atnumber
nicknametext
notepadtext
people_idtext
phonetext
scorenumber
segmentslist
updated_atnumber
websitetext
Example output
{
  "address": "",
  "avatar": "",
  "company_name": "Avery Consulting",
  "created_at": 1772452353000,
  "description": "",
  "email": "jordan@example.com",
  "gender": "",
  "job_title": "",
  "last_active_at": 0,
  "nickname": "Jordan Avery",
  "notepad": "",
  "people_id": "c5a2f70c-f605-4648-b47f-8c39d4b03a50",
  "phone": "+1 555 0100",
  "score": 0,
  "segments": [
    "customer"
  ],
  "updated_at": 1772452353000,
  "website": ""
}

Get Crisp visitor details

Get the visitor details on a conversation: name, email, phone, segments, custom data and location.

Inputs

Conversation session IDsession_idtextRequired
The conversation, as session_... (from List conversations or Create conversation) or its address in the Crisp inbox.

Outputs

addresstext
avatartext
citytext
countrytext
dataobject
emailtext
iptext
nicknametext
origintext
phonetext
regiontext
segmentslist
session_idtext
subjecttext
Example output
{
  "address": "",
  "avatar": "",
  "city": "",
  "country": "",
  "data": {
    "plan": "starter"
  },
  "email": "jordan@example.com",
  "ip": "",
  "nickname": "Jordan Avery",
  "origin": "",
  "phone": "",
  "region": "",
  "segments": [
    "customer"
  ],
  "session_id": "session_700c65e1-85e2-465a-b9ac-ecb5ec2c9881",
  "subject": ""
}

Get Crisp workspace

Get the connected workspace's name, domain and status.

Inputs

None.

Outputs

domaintext
institutionaltrue/false
logotext
nametext
verifiedtrue/false
website_idtext
Example output
{
  "domain": "example.com",
  "institutional": false,
  "logo": "",
  "name": "Avery Consulting",
  "verified": true,
  "website_id": "8c842203-7ed8-4e29-a608-7cf78a7d2fcc"
}

List Crisp conversations

List conversations with optional search, status, assignment and date filters. On the Free plan Crisp only keeps recent history.

Inputs

Pagepagenumber
Page number, starting at 1.At least 1. Default: 1.
Per pageper_pagenumber
Results per page, 20-50.From 20 to 50. Default: 20.
Searchsearch_querytext
Text to search for, or a segment name when Search type is Segment.
Search typesearch_typetext
How to read Search.One of: text, segment. Default: text.
Statusstatustext
Only resolved or only not-resolved conversations.One of: any, resolved, not_resolved (Not resolved). Default: any.
Unread onlyunread_onlytrue/false
Only conversations with unread messages.Default: false.
Unassigned onlyunassigned_onlytrue/false
Only conversations assigned to nobody.Default: false.
Assigned toassigned_totext
Only conversations assigned to this operator.
Include emptyinclude_emptytrue/false
Also list conversations with no messages yet.Default: false.
Updated afterupdated_afterdate and time
Only conversations updated after this time.
Updated beforeupdated_beforedate and time
Only conversations updated before this time.
Order byorder_bytext
Sort newest first by this date. Waiting also leaves out conversations not waiting for a reply.One of: updated (Last updated), created, waiting (Waiting for a reply). Default: updated.

Outputs

conversationslist
countnumber
has_moretrue/false
pagenumber
Example output
{
  "conversations": [
    {
      "active_now": false,
      "assigned_user_id": "a4c32c68-be91-4e29-8a05-976e93abbe3f",
      "availability": "offline",
      "created_at": 1772452353000,
      "email": "jordan@example.com",
      "inbox_id": "",
      "is_blocked": false,
      "is_verified": false,
      "last_message": "Hi, I need help with my order",
      "nickname": "Jordan Avery",
      "origin": "",
      "people_id": "c5a2f70c-f605-4648-b47f-8c39d4b03a50",
      "phone": "",
      "segments": [],
      "session_id": "session_700c65e1-85e2-465a-b9ac-ecb5ec2c9881",
      "state": "unresolved",
      "subject": "",
      "topic": "",
      "unread_by_operator": 1,
      "unread_by_visitor": 0,
      "updated_at": 1772452400000,
      "waiting_since": 0,
      "website_id": "8c842203-7ed8-4e29-a608-7cf78a7d2fcc"
    }
  ],
  "count": 1,
  "has_more": false,
  "page": 1
}

List Crisp messages

Get the latest batch of messages in a conversation. To page back, pass the result's oldest_timestamp as Before.

Inputs

Conversation session IDsession_idtextRequired
The conversation, as session_... (from List conversations or Create conversation) or its address in the Crisp inbox.
Beforebeforedate and time
Messages sent before this time.
Afterafterdate and time
Messages sent after this time.
Aroundarounddate and time
Messages centred on this time.

Outputs

countnumber
messageslist
oldest_timestampnumber
session_idtext
Example output
{
  "count": 1,
  "messages": [
    {
      "automated": false,
      "content": "Hi, I need help with my order",
      "content_data": {},
      "delivered": "",
      "edited": false,
      "fingerprint": 150912675256156,
      "origin": "chat",
      "read": "",
      "sender": "user",
      "timestamp": 1772452400000,
      "type": "text",
      "user_id": "session_700c65e1-85e2-465a-b9ac-ecb5ec2c9881",
      "user_nickname": "Jordan Avery"
    }
  ],
  "oldest_timestamp": 1772452400000,
  "session_id": "session_700c65e1-85e2-465a-b9ac-ecb5ec2c9881"
}

List Crisp operators

List the workspace's operators (team members).

Inputs

Include pending invitesinclude_invitestrue/false
Also list people invited who have not joined yet.Default: false.

Outputs

countnumber
operatorslist
Example output
{
  "count": 1,
  "operators": [
    {
      "availability": "online",
      "email": "sam@example.com",
      "first_name": "Sam",
      "last_name": "Lee",
      "role": "owner",
      "title": "",
      "two_factor_enabled": false,
      "type": "operator",
      "user_id": "a4c32c68-be91-4e29-8a05-976e93abbe3f"
    }
  ]
}

List Crisp people profiles

List contact profiles, with optional search and dates.

Inputs

Pagepagenumber
Page number, starting at 1.At least 1. Default: 1.
Per pageper_pagenumber
Results per page, 20-50.From 20 to 50. Default: 20.
Searchsearch_texttext
Quick search on name, email and more.
Sort by fieldsort_fieldtext
A profile field name to sort on, such as nickname.
Sort ordersort_ordertext
Direction of Sort by field.One of: ascending, descending.
Created aftercreated_afterdate and time
Only profiles created after this time.
Created beforecreated_beforedate and time
Only profiles created before this time.

Outputs

countnumber
has_moretrue/false
pagenumber
profileslist
Example output
{
  "count": 1,
  "has_more": false,
  "page": 1,
  "profiles": [
    {
      "address": "",
      "avatar": "",
      "company_name": "Avery Consulting",
      "created_at": 1772452353000,
      "description": "",
      "email": "jordan@example.com",
      "gender": "",
      "job_title": "",
      "last_active_at": 0,
      "nickname": "Jordan Avery",
      "notepad": "",
      "people_id": "c5a2f70c-f605-4648-b47f-8c39d4b03a50",
      "phone": "+1 555 0100",
      "score": 0,
      "segments": [
        "customer"
      ],
      "updated_at": 1772452353000,
      "website": ""
    }
  ]
}

Mark Crisp messages read

Mark a conversation's messages as read: all of them, or only the listed fingerprints.

Inputs

Conversation session IDsession_idtextRequired
The conversation, as session_... (from List conversations or Create conversation) or its address in the Crisp inbox.
Messages sent bysendertext
Whose messages to mark as read.One of: operator (Operator (your team)), user (Visitor). Default: user.
Message fingerprintsfingerprintslist
Only these messages (fingerprints from List messages). Leave empty for all.

Outputs

fingerprintslist
sendertext
session_idtext
Example output
{
  "fingerprints": [],
  "sender": "user",
  "session_id": "session_700c65e1-85e2-465a-b9ac-ecb5ec2c9881"
}

Send Crisp message

Send a text message, or an internal note only your team sees, into a conversation. Notes need a paid Crisp plan.

Inputs

Conversation session IDsession_idtextRequired
The conversation, as session_... (from List conversations or Create conversation) or its address in the Crisp inbox.
MessagecontenttextRequired
The message text.
Typemessage_typetext
A message the visitor sees, or an internal note.One of: text (Message), note (Internal note). Default: text.
Send assendertext
Who the message comes from.One of: operator (Operator (your team)), user (Visitor). Default: operator.

Outputs

fingerprintnumber
sendertext
session_idtext
typetext
Example output
{
  "fingerprint": 150912675256156,
  "sender": "operator",
  "session_id": "session_700c65e1-85e2-465a-b9ac-ecb5ec2c9881",
  "type": "text"
}

Update Crisp people profile

Change a contact profile. Only fields you fill in change.

Inputs

People ID or emailpeople_idtextRequired
The profile's people ID (from List or Create people profile), its email address, or its address in the Crisp app.
Emailemailtext
A new email for the profile.
Namenicknametext
The person's full name.
Phonephonetext
Phone number.
Addressaddresstext
Postal address.
Descriptiondescriptiontext
A short description.
Websitewebsitetext
The person's website URL.
Gendergendertext
Optional.One of: male, female.
Companycompany_nametext
The company the person works for.
Job titlejob_titletext
Their job title (needs Company to be set).
Segmentssegmentslist
Segment tags for the profile. Replaces the profile's current segments.
Notepadnotepadtext
Private notes about the person.

Outputs

people_idtext
updated_fieldslist
Example output
{
  "people_id": "c5a2f70c-f605-4648-b47f-8c39d4b03a50",
  "updated_fields": [
    "person"
  ]
}

Update Crisp visitor details

Set the visitor's name, email, phone, subject, segments or custom data on a conversation. Only fields you fill in change.

Inputs

Conversation session IDsession_idtextRequired
The conversation, as session_... (from List conversations or Create conversation) or its address in the Crisp inbox.
Visitor namenicknametext
The visitor's name.
Visitor emailemailtext
The visitor's email.
Phonephonetext
The visitor's phone number.
Addressaddresstext
The visitor's address.
Subjectsubjecttext
The conversation's subject.
Segmentssegmentslist
Segment tags for the conversation. Replaces the current ones.
Custom datadataobject
Custom key/value data about the visitor.

Outputs

session_idtext
updated_fieldslist
Example output
{
  "session_id": "session_700c65e1-85e2-465a-b9ac-ecb5ec2c9881",
  "updated_fields": [
    "nickname"
  ]
}

On this page