Crisp
App · Help Desk · 20 actions
Work Crisp conversations, messages and contact profiles with a workspace API token.
Actions
| Action | What it does |
|---|---|
| Add Crisp people event | Add an event, such as 'Upgraded plan', to a profile's timeline. |
| Assign Crisp conversation | Assign a conversation to an operator. |
| Change Crisp conversation state | Mark a conversation pending, unresolved or resolved. |
| Create Crisp conversation | Start a new conversation, optionally naming the visitor. |
| Create Crisp people profile | Add a contact profile. |
| Delete Crisp conversation | Permanently delete a conversation and its messages. |
| Delete Crisp people profile | Permanently delete a contact profile. |
| Get Crisp availability | Whether the workspace shows as online, away or offline. |
| Get Crisp conversation | Get a conversation's state, visitor and unread counts. |
| Get Crisp people profile | Get a contact profile by people ID or email. |
| Get Crisp visitor details | Get the visitor details on a conversation: name, email, phone, segments, custom data and location. |
| Get Crisp workspace | Get the connected workspace's name, domain and status. |
| List Crisp conversations | List conversations with optional search, status, assignment and date filters. |
| List Crisp messages | Get the latest batch of messages in a conversation. |
| List Crisp operators | List the workspace's operators (team members). |
| List Crisp people profiles | List contact profiles, with optional search and dates. |
| Mark Crisp messages read | Mark a conversation's messages as read: all of them, or only the listed fingerprints. |
| Send Crisp message | Send a text message, or an internal note only your team sees, into a conversation. |
| Update Crisp people profile | Change a contact profile. |
| Update Crisp visitor details | Set 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 email
people_idtextRequired - The profile's people ID (from List or Create people profile), its email address, or its address in the Crisp app.
- Event
texttextRequired - What happened.
- Colour
colortext - Optional colour for the event.One of:
red,orange,yellow,green,blue,purple,pink,brown,grey,black. - Event data
dataobject - Optional key/value details for the event.
Outputs
colortextpeople_idtexttexttext
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 ID
session_idtextRequired - The conversation, as session_... (from List conversations or Create conversation) or its address in the Crisp inbox.
- Operator
operator_idtextRequired - The operator to assign it to.
- Don't notify the operator
silenttrue/false - Assign without notifying the operator.Default:
false.
Outputs
assigned_user_idtextsession_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 ID
session_idtextRequired - The conversation, as session_... (from List conversations or Create conversation) or its address in the Crisp inbox.
- State
statetextRequired - The new state.One of:
pending,unresolved,resolved.
Outputs
session_idtextstatetext
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 name
nicknametext - The visitor's name.
- Visitor email
emailtext - The visitor's email.
- First message (from the visitor)
first_messagetext - Posted as the visitor's opening message.
Outputs
emailtextfirst_message_fingerprintnumbernicknametextsession_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
- Email
emailtextRequired - The person's email; unique within the workspace.
- Name
nicknametextRequired - The person's full name.
- Phone
phonetext - Phone number.
- Address
addresstext - Postal address.
- Description
descriptiontext - A short description.
- Website
websitetext - The person's website URL.
- Gender
gendertext - Optional.One of:
male,female. - Company
company_nametext - The company the person works for.
- Job title
job_titletext - Their job title (needs Company to be set).
- Segments
segmentslist - Segment tags for the profile.
- Notepad
notepadtext - Private notes about the person.
Outputs
emailtextnicknametextpeople_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 ID
session_idtextRequired - The conversation, as session_... (from List conversations or Create conversation) or its address in the Crisp inbox.
Outputs
deletedtrue/falsesession_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 email
people_idtextRequired - The profile's people ID (from List or Create people profile), its email address, or its address in the Crisp app.
Outputs
deletedtrue/falsepeople_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
sincenumberstatustext
Example output
{
"since": 1772452353000,
"status": "online"
}Get Crisp conversation
Get a conversation's state, visitor and unread counts.
Inputs
- Conversation session ID
session_idtextRequired - The conversation, as session_... (from List conversations or Create conversation) or its address in the Crisp inbox.
Outputs
active_nowtrue/falseassigned_user_idtextavailabilitytextcreated_atnumberemailtextinbox_idtextis_blockedtrue/falseis_verifiedtrue/falselast_messagetextnicknametextorigintextpeople_idtextphonetextsegmentslistsession_idtextstatetextsubjecttexttopictextunread_by_operatornumberunread_by_visitornumberupdated_atnumberwaiting_sincenumberwebsite_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 email
people_idtextRequired - The profile's people ID (from List or Create people profile), its email address, or its address in the Crisp app.
Outputs
addresstextavatartextcompany_nametextcreated_atnumberdescriptiontextemailtextgendertextjob_titletextlast_active_atnumbernicknametextnotepadtextpeople_idtextphonetextscorenumbersegmentslistupdated_atnumberwebsitetext
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 ID
session_idtextRequired - The conversation, as session_... (from List conversations or Create conversation) or its address in the Crisp inbox.
Outputs
addresstextavatartextcitytextcountrytextdataobjectemailtextiptextnicknametextorigintextphonetextregiontextsegmentslistsession_idtextsubjecttext
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
domaintextinstitutionaltrue/falselogotextnametextverifiedtrue/falsewebsite_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
- Page
pagenumber - Page number, starting at 1.At least 1. Default:
1. - Per page
per_pagenumber - Results per page, 20-50.From 20 to 50. Default:
20. - Search
search_querytext - Text to search for, or a segment name when Search type is Segment.
- Search type
search_typetext - How to read Search.One of:
text,segment. Default:text. - Status
statustext - Only resolved or only not-resolved conversations.One of:
any,resolved,not_resolved(Not resolved). Default:any. - Unread only
unread_onlytrue/false - Only conversations with unread messages.Default:
false. - Unassigned only
unassigned_onlytrue/false - Only conversations assigned to nobody.Default:
false. - Assigned to
assigned_totext - Only conversations assigned to this operator.
- Include empty
include_emptytrue/false - Also list conversations with no messages yet.Default:
false. - Updated after
updated_afterdate and time - Only conversations updated after this time.
- Updated before
updated_beforedate and time - Only conversations updated before this time.
- Order by
order_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
conversationslistcountnumberhas_moretrue/falsepagenumber
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 ID
session_idtextRequired - The conversation, as session_... (from List conversations or Create conversation) or its address in the Crisp inbox.
- Before
beforedate and time - Messages sent before this time.
- After
afterdate and time - Messages sent after this time.
- Around
arounddate and time - Messages centred on this time.
Outputs
countnumbermessageslistoldest_timestampnumbersession_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 invites
include_invitestrue/false - Also list people invited who have not joined yet.Default:
false.
Outputs
countnumberoperatorslist
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
- Page
pagenumber - Page number, starting at 1.At least 1. Default:
1. - Per page
per_pagenumber - Results per page, 20-50.From 20 to 50. Default:
20. - Search
search_texttext - Quick search on name, email and more.
- Sort by field
sort_fieldtext - A profile field name to sort on, such as nickname.
- Sort order
sort_ordertext - Direction of Sort by field.One of:
ascending,descending. - Created after
created_afterdate and time - Only profiles created after this time.
- Created before
created_beforedate and time - Only profiles created before this time.
Outputs
countnumberhas_moretrue/falsepagenumberprofileslist
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 ID
session_idtextRequired - The conversation, as session_... (from List conversations or Create conversation) or its address in the Crisp inbox.
- Messages sent by
sendertext - Whose messages to mark as read.One of:
operator(Operator (your team)),user(Visitor). Default:user. - Message fingerprints
fingerprintslist - Only these messages (fingerprints from List messages). Leave empty for all.
Outputs
fingerprintslistsendertextsession_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 ID
session_idtextRequired - The conversation, as session_... (from List conversations or Create conversation) or its address in the Crisp inbox.
- Message
contenttextRequired - The message text.
- Type
message_typetext - A message the visitor sees, or an internal note.One of:
text(Message),note(Internal note). Default:text. - Send as
sendertext - Who the message comes from.One of:
operator(Operator (your team)),user(Visitor). Default:operator.
Outputs
fingerprintnumbersendertextsession_idtexttypetext
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 email
people_idtextRequired - The profile's people ID (from List or Create people profile), its email address, or its address in the Crisp app.
- Email
emailtext - A new email for the profile.
- Name
nicknametext - The person's full name.
- Phone
phonetext - Phone number.
- Address
addresstext - Postal address.
- Description
descriptiontext - A short description.
- Website
websitetext - The person's website URL.
- Gender
gendertext - Optional.One of:
male,female. - Company
company_nametext - The company the person works for.
- Job title
job_titletext - Their job title (needs Company to be set).
- Segments
segmentslist - Segment tags for the profile. Replaces the profile's current segments.
- Notepad
notepadtext - Private notes about the person.
Outputs
people_idtextupdated_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 ID
session_idtextRequired - The conversation, as session_... (from List conversations or Create conversation) or its address in the Crisp inbox.
- Visitor name
nicknametext - The visitor's name.
- Visitor email
emailtext - The visitor's email.
- Phone
phonetext - The visitor's phone number.
- Address
addresstext - The visitor's address.
- Subject
subjecttext - The conversation's subject.
- Segments
segmentslist - Segment tags for the conversation. Replaces the current ones.
- Custom data
dataobject - Custom key/value data about the visitor.
Outputs
session_idtextupdated_fieldslist
Example output
{
"session_id": "session_700c65e1-85e2-465a-b9ac-ecb5ec2c9881",
"updated_fields": [
"nickname"
]
}