See related
No related articles

Workflow actions

Last Update: Oct 2024 • Est. Read Time: 12 MIN
To check plan availability, see the pricing page.

Workflows are powerful tools that allow you to automate many actions in the Kustomer platform. This article outlines commonly used workflow actions and their required inputs and outputs.

Who can access this feature?
User typesAdmins can access the Workflows page.


In this article

AI actions

NameDescriptionRequired FieldsOutput
Conversation Automate
ConversationID: ID of the conversation
Intent Identification PredictionUses a conversation classification model to give the inputed text a label based on the available values in the given model.Input: Text you would like to run the classification model on.

Id: Name of the classification model you'd like to use.
Label: The value that the model classified the text as.

Confidence: Number between 0 and 1 indicating how confident the model is that the predicted label is accurate.
Natural Language ProcessingDetects the sentiment of the inputed text, and can also be used to detect the language.Text: Text you would like to process.

Customer: Customer ID

DetectLang: (true/false) determines whether language detection occurs.
SentimentType: (-1,0,1). -1 indicates a negative sentiment, 0 indicates a neutral sentiment, 1 indicates a positive sentiment.

SentimentScore: Number between 0 and 1 indicating how confident the model is that the predicted sentiment is accurate.

DominantLanguage: The detected language.

DominantLanguageScore: Number between 0 and 1 indicating how confident the model is that the predicted language is accurate.


Aircall actions

NameDescriptionRequired FieldsOutput
Contact CreateCreates an Aircall ContactPhoneNumber: Customer's phone number

FirstName: Customer's first name

LastName: Customer's last name
Body: Response body of the API call made to create the Aircall contact.

Response: Entire response of API call made to create the Aircall contact.


Chat actions

NameDescriptionRequired FieldsOutput
Message SendSends a chat messageCustomer: Customer ID

Body: The message you'd like to send.

Conversation: Conversation ID
Body: The message inputed in the Message Send step.

Conversation: The ID of the conversation.

CreatedAt: Timestamp of when message was created.

Id: The ID of the created Message.

ModifiedAt: Timestamp of when the message was modified (In most cases this will be the same as the CreatedAt output value).

SendAt: Timestamp of when the message should be sent. (In most cases this will be the same as the CreatedAt output value).

Status: The status of the message.

UpdatedAt: Timestamp of when the message was updated (In most cases this will be the same as the CreatedAt output value).


Facebook actions

NameDescriptionRequired FieldsOutput
Pass Thread ControlAllows users to pass control of a Facebook message via the Message Platform Handover ProtocolTargetAppId: The ID for the app that is getting control.

RecepientId: The PSID for the customer who sent the message. Can be found in facebookIDs attribute on the customer profile.

PageId: The ID of your Facebook Business page. Can be found in facebookIDs attribute on the customer profile.
Success: Boolean indicating whether or not the handoff was successful.


Gmail actions


NameDescriptionRequired FieldsOutput
Message SendSends an email message using GmailCustomer: Customer ID

Conversation: Conversation ID

From: From email Address
To: To email address
Id: Message Id of message that was sent.

From: From email address

To: Array of To email addresses

CC: Array of CC'd email addresses

BCC: Array of BCC'd email addresses

Subject: Subject of email message

Body: Body of email message

Status: Status of message

SendAt: Timestamp of when the message should be sent. (In most cases this will be the same as the CreatedAt output value).

CreatedAt: Time Stamp of when message was created.

ModifiedAt: Timestamp of when the message was modified (In most cases this will be the same as the CreatedAt output value).

UpdatedAt: Timestamp of when the message was updated (In most cases this will be the same as the CreatedAt output value)

Conversation: The ID of the conversation.


Kustomer actions


NameDescriptionRequired FieldsOutput
Assistant LaunchLaunches a conversational assistant on a chat conversationPublicId: ID of the assistant you'd like to launch.

MessageId: 
ID of the initial inbound message on the conversation.

ConversationId: 
ID of the conversation
No output
Command Run By NameAllows for commands created in a custom app to run in a workflowName: Name of commandVaries based on command
Company CreateCreates a companyName: Name of the company you would like to createThe newly created company object. For a full list of available attributes, visit your company klass settings page.
Company: Lookup (By External ID)Finds a company with the given external IDExternalId: External ID of the company you'd like to find.The company associated with the given external ID. For a full list of available attributes, visit your company klass settings page
Company: Lookup (By ID)Finds a company with the given company IDIdentifier: Company ID of the company you'd like to findThe company associated with the given company ID. For a full list of available attributes, visit your company klass settings page.
Company: UpdateUpdates the company associated with the given company IDId: Company ID of the company you'd like to update.The company associated with the given company ID. For a full list of available attributes, visit your company Klass settings page.
Conversation MergeMerges two conversations togetherSource: ID of the conversation you'd like to merge into another conversation. This conversation will be soft deleted.

Target: ID of the conversation you'd like the source to merge into. This conversation will remain on the customer timeline.
Id: ID of the merge request

Status: Status of the merge request (success/failure)

CreatedAt: Timestamp of when the merge took place

UpdatedAt: Timestamp of when the merge request was updated (in most cases this will match the CreatedAt timestamp).

Customer: Customer ID of both conversations
Conversation Move CustomerMoves a conversation to a different customer timelineId: ID of conversation you'd like to move.

Customer: Customer ID of destination customer timeline.
The conversation associated with the given conversation ID. For a full list of available attributes, visit your conversation Klass settings page.
Conversation: Add TagsAdds tags to a conversationId: Conversation ID

Tags: List of tags you'd like to add. You can either use UI to select tags, or type in tag ID's separated by commas.
The conversation associated with the given conversation ID. For a full list of available attributes, visit your conversation Klass settings page.

Conversation: Assign TeamAssigns a team to a conversationId: Conversation ID

Team: ID of team you'd like to assign. You can use the UI to select a team from the drop down menu or enter in the ID of the team manually.
The conversation associated with the given conversation ID. For a full list of available attributes, visit your conversation Klass settings page.
Conversation: Assign UserAssigns a user to a conversationId: Conversation ID

User: ID of the user you'd like to assign. You can use the UI to select a user from the drop down menu or enter in the ID of the user manually.
The conversation associated with the given conversation ID. For a full list of available attributes, visit your conversation Klass settings page.
Conversation: CreateCreates a conversation on the given customer's timelineCustomer: Customer ID The newly created conversation. 
Conversation: Lookup (By External ID)Finds a conversation with the given external IDExternalId: External ID of the conversation you'd like to find.The conversation associated with the given external ID. For a full list of available attributes, visit your conversation Klass settings page.
Conversation: Lookup (By ID)Finds a conversation with the given conversation IDId: Conversation IDThe conversation associated with the given conversation ID. For a full list of available attributes, visit your conversation Klass settings page.
Conversation: Lookup BodyFinds the body of all messages in a given conversationConversation: Conversation ID

Direction: (In/Out) Determines which message bodies are in the ouput. Selecting In will output inbound messages. Leaving it blank will output all messages.
Body: A string of all included message bodies concatenated together, in reverse order from the time they were created. 
Conversation: Remove TagsRemoves selected tags from the given conversationId: Conversation ID

Tags: Tags to be removed from conversation. You can select them using the drop down menu, or enter their tag ID's manually in a comma separated list.
The conversation associated with the given conversation ID. For a full list of available attributes, visit your conversation Klass settings page.
Conversation: UpdateUpdates the given conversation with the data included in the Optional FieldsId: Conversation IDThe conversation associated with the given conversation ID. For a full list of available attributes, visit your conversation Klass settings page.
Custom Object (KObject): CreateCreates a kObject that is not placed on any customer timelineKlassName: The name of the klass you'd like to create.

Data: Data about the kObject in JSON format.

Title: A name for object you'd like to create.
The created kObject. For a full list of available attributes visit the Klass settings page for the chosen klass.
Custom Object (KObject): Create with CustomerCreates a kObject on the given customer timelineKlassName: The name of the klass you'd like to create.

Customer: Customer ID of the timeline you'd like to add the kObject to.

Data: Data about the kObject in JSON format.

Title: A name for the object you'd like to create.
The created kObject. For a full list of available attributes visit the Klass settings page for the chosen klass.
Custom Object (KObject): DeleteDeletes a kObjectId: ID of the KObject you'd like to delete.

KlassName: The name of the klass you'd like to delete.
No output
Customer: Find by Twitter IdFinds a customer with the given Twitter IDId: Twitter ID (This is not the twitter username, but can be found in the "socials" customer attribute).The customer associated with the given Twitter ID. For a full list of available attributes, visit the customer Klass settings page.
Customer: Find by WhatsappFinds a customer with the given Whatsapp phone numberWhatsapp: Whatsapp phone numberThe customer associated with the given Whatsapp phone number. For a full list of available attributes, visit the customer Klass settings page. 
Customer: Append EmailAdds an email to the "Emails" attribute on the given customer profileId: Customer ID

Email: Email you'd like to add to the customer profile
The customer associated with the given Customer ID. For a full list of available attributes, visit the customer Klass settings page. 
Customer: Append PhoneAdds a phone number to the "Phones" attribute on t he given customer profileId: Customer ID

Phone: Phone number you'd like to add to the customer profile.
The customer associated with the given Customer ID. For a full list of available attributes, visit the customer Klass settings page.
Customer: CreateCreates a customer NoneThe created customer. For a full list of available attributes, visit the customer Klass settings page. 
Customer: Lookup (By Email)Finds a customer with the given email addressEmail: Email addressThe customer associated with the given email address. For a full list of available attributes, visit the customer Klass settings page. 
Customer: Lookup (By External ID)Finds a customer with the given external IDExternalId: External IDThe customer associated with the given email address. For a full list of available attributes, visit the customer Klass settings page. 
Customer: Lookup (By Facebook Messenger User ID)Finds a customer with the given Facebook User ID and Page IDPageId: ID of the Facebook page a customer has contacted (Can be found in "facebookIds" attribute).

UserId: The Facebook Messenger ID of the customer (Can be found in "facebookIds" attribute).

The customer associated with the given Page ID and User ID. For a full list of available attributes, visit the customer Klass settings page. 

Customer: Lookup (By ID)Finds a customer with the given Customer IDIdentifier: Customer ID

The customer associated with the given Customer ID. For a full list of available attributes, visit the customer Klass settings page. 

Customer: Lookup (By Instagram Thread ID)Finds a customer with the given Instagram IDThreadId: Instagram ID (can be found in Instagram IDs customer attribute).The customer associated with the given Instagram ID. For a full list of available attributes, visit the customer Klass settings page. 
Customer: Lookup (By Phone)Finds a customer with the given phone numberPhone: Phone numberThe customer associated with the given phone number. For a full list of available attributes, visit the customer Klass settings page. 
Customer: Lookup Last MessageFind the most recent inbound message from the customerCustomer: Customer ID

The most recent inbound message from the given customer. For a full list of available attributes, visit the message Klass settings page.
Customer: UpdateUpdates the given customer with the data included in the Optional FieldsId: Customer IDThe updated customer. For a full list of available attributes, visit the customer Klass settings page.
Draft DeleteDeletes the draft associated with the given IDId: Draft IDNo output
Draft Note CreateCreates a note draft on the customer drafts endpointCustomer: Customer ID

Conversation: Conversation ID

Body: Body of the note you'd like to create.
Id: Draft ID

Type: Type of object (will say draft)

Channel: Draft channel (will say Note)

Status: Status of the draft (will say draft)

CreatedAt: Timestamp of when the draft was created

UpdatedAt: Timestamp of when the draft was updated (In most cases this will be the same as the createdAt value).

ModifiedAt: Timestamp of when the draft was modified (In most cases this will be the same as the createdAt value).

Org: Org ID

Customer: Customer ID
Draft PostponeChanges the SendAt attribute for a Draft allowing users to change when a draft is scheduled to be sent outId: Draft Id

Id: Draft ID

Type: Type of object (will say draft)

Channel: Draft channel (will say Note)

Status: Status of the draft (will say draft)

CreatedAt: Timestamp of when the draft was created.

UpdatedAt: Timestamp of when the draft was updated (In most cases this will be the same as the createdAt value).

ModifiedAt: Timestamp of when the draft was modified (In most cases this will be the same as the createdAt value).

Org: Org ID

Customer: Customer ID
Generic Regex MatchRuns a regular expression on a stringTestString: String you would like to run through regex.

Regex: Regular expression
Match: Text matched by the regular expression.

Captures: Array of strings captured by the regular expression.

Index: The position in the string the match can be found.

Original: The string the regex was run on.

Hook Get By IdFinds the webhook associated with the given IDId: Hook IdA GET API response with information about the given hook. 
Klass: CreateCreates a KlassName: Name of the Klass you'd like to create
Status: enabled/disabled
Id: Klass ID

Name: Name of Klass

Status: Status of the Klass (enabled/disabled).

CreatedAt: Timestamp of when Klass was created.

UpdatedAt: Timestamp of when Klass was last updated.

Org: Org ID
Klass: Lookup (By Klass name)Finds a Klass with the given nameName: Name of the Klass you'd like to find.Id: Klass ID

Name: Name of Klass

Status: Status of the Klass (enabled/disabled)

CreatedAt: Timestamp of when Klass was created.

UpdatedAt: Timestamp of when Klass was last updated.

Org: Org ID
Kobject Find By External IdFinds a kObject with the given external IdExternalId: External ID

KlassName: Name of the Klass
The kObject associated with the given External ID. For a full list of available attributes visit the Klass settings page for the chosen klass.
Kobject Find First or LastFinds the first or last kObject for the given customer based on the Sort valueCustomer: Customer ID

KlassName: Name of the Klass

Sort: 
  • Asc - Returns oldest kObject
  • Dec - Returns newst kObject
The first/last kObject on the given customer timeline. For a full list of available attributes visit the Klass settings page for the chosen klass.
Merge CustomersMerges two customer profiles into one profileSource: ID of the customer you'd like to merge into another conversation. This profile will be soft deleted.

Target: ID of the customer you'd like the source to merge into. This profile will remain active.
Id: ID of customer merge request

Status: Status of the request (In most cases this will say success).
Message Find By ConversationFinds all messages on the given conversationConversation: Conversation IDA GET API response to the v1/conversationId/messages endpoint
Message: CreateCreates a message in the UI. If no conversation is specified, a new conversation is created. (Does not send message to the customer)Customer: Customer ID

App: App used to create message (e.g. Postmark/Gmail/form)

Size: Size of message, in most cases you can just input "0".

Channel: Channel of the message
The created message. For a full list of available attributes, visit the message Klass settings page.
Message: Lookup (By External ID)Finds a message with the the given external IDIdentifier: External IDThe message associated with the given external ID. For a full list of available attributes, visit the message Klass settings page.
Message: Lookup (By ID)Finds a message with the given message IDId: Message IDThe message associated with the given message ID. For a full list of available attributes visit the message Klass settings page.
Message: UpdateUpdates the given message with the data included in the Optional FieldsId: Message IDThe message associated with the given message ID. For a full list of available attributes visit the message Klass settings page.
Note Find By ConversationFinds all notes on the given conversationConversation: Conversation IDA GET API response to the v1/conversations/conversationId/notes endpoint
Note CreateCreates a note on the given conversationConversation: Conversation ID

Body: Body of the note you'd like to create
ID: Note ID

Body: Text included in the note

CreatedAt: Timestamp of when note was created.

UpdatedAt: Timestamp of when note was updated (In most cases this will be the same as CreatedAt).

Customer: Customer ID of customer associated with the given conversation.

Conversation: Conversation ID of conversation the note was created on.

UserMentions: Array of UserId's mentioned on the note.
Note: Lookup (By External ID)Finds a note with the given external IDIdentifier: External IdID: Note ID

Body: Text included in the note

CreatedAt: Timestamp of when note was created

UpdatedAt: Timestamp of when note was updated (In most cases this will be the same as CreatedAt)

Customer: Customer ID of customer associated with the given conversation

Conversation: Conversation ID of conversation the note was created on

UserMentions: Array of UserId's mentioned on the note
Note: Lookup (By ID)Finds a note with the given Note IDId: Note IDID: Note ID

Body: Text included in the note

CreatedAt: Timestamp of when note was created

UpdatedAt: Timestamp of when note was updated (In most cases this will be the same as CreatedAt)

Customer: Customer ID of customer associated with the given conversation

Conversation: Conversation ID of conversation the note was created on

UserMentions: Array of UserId's mentioned on the note
Note: UpdateUpdates the given note. This can only be used on notes created by automations. This cannot be used on notes created by an agentId: Note IDID: Note ID

Body: Text included in the note

CreatedAt: Timestamp of when note was created

UpdatedAt: Timestamp of when note was updated (In most cases this will be the same as CreatedAt)

Customer: Customer ID of customer associated with the given conversation

Conversation: Conversation ID of conversation the note was created on

UserMentions: Array of UserId's mentioned on the note
Org CurrentOutputs the name of your orgNo inputsOrgName: The name of your org
Publish EventPublishes an event to the events endpoint of a conversationConversation: Conversation ID of the conversation you'd like to publish an event forNo outputs
Rest API: GenericCreates an API request using generic formatting. For more information, view our

Calling a REST API Within a Workflow help article

URI: URI for your API request

Method: Method of your API request
API response (varies based on request)
Rest API: JSON Creates an API request using JSON formatting. For more information, view our

Calling a REST API Within a Workflow help article

URI: URI for your API request

Method: Method of your API request
API response (varies based on request)
Snippet Find By KeyFinds a snippet with the given keyKey: Snippet key (e.g. sn.kustomer.chat.fifteen_minutes)Id: Snippet ID

Type: Type of object (will most likely be snippet)

Name: Name of the snippet

App: App the snippet came from (will most likely be Kustomer)

Key: Snippet key

Langs: Array of languages and their translations

CreatedAt: Timestamp of when snippet was created

Org: Org ID
Transform GenericAllows users to store variables locally to be referenced in later workflow stepsData you'd like to store in JSON format. E.g.:
"variable1": "value1",
"variable2":"value2",
"variable3": "value3"
An "Output" JSON object that contains the data added in the "input" field.
User: Find By EmailFinds a user with the given emailEmail: Email addressId: User ID

DisplayName: User's display name

Name: User's name

UserType: Type of user (user/machine)

Email: User email

EmailVerifiedAt: Timestamp of when the user verified their email

Email Signature: User's email signature

CreatedAt: Timestamp of when the user was created

UpdatedAt: Timestamp of when the user was last updated
User: Find By IDFinds a user with the given User IDId: User IDId: User ID

DisplayName: User's display name
Name: User's name

UserType: Type of user (user/machine)

Email: User email

EmailVerifiedAt: Timestamp of when the user verified their email

Email Signature: User's email signature

CreatedAt: Timestamp of when the user was created

UpdatedAt: Timestamp of when the user was last updated
Work Item Find By QueueFinds all work items in the given QueueQueue: Queue IDA GET API response to the v1/routing/queues/queueId/work-items endpoint
Work Item Find Next Work Item By QueueFinds the next work-item in the given queue that is going to be routed to an agent Queue: Queue IDId: Work-item ID

Type: Type of object (will most likely say work-item).

ResourceType: Resource being worked on. Currently this is always conversation.

Status: Current status that the work item is in. Will be one of ivr, queued, routed, assigned, wrap-up, completed.

Paused: Whether or not this conversation is paused. Currently maps to snoozed state in conversation.  

Channel: Channel of the associated conversation. 

FirstEnterQueueAt: Timestamp of when the work-item entered the queue.

QueuedCount: Number of times the work-item has entered a queued state.

Priority: Priority of the associated queue.

ItemSize: Weight of the item as indicated by the associated queue.

CreatedAt: Timestamp of when work-item was created.

UpdatedAt: Time stamp of when work-item was last updated.

ModifiedAt: Timestamp of when the work-item was last modified.

ResourceRev: Number of revisions of the associated resource (conversation).

ResourceCreatedAt: Timestamp of when the associated resource (conversation) was created.

Rev: Number of revisions made on the work-item.

LastRevision: Object containing information about the last revision made on the work-item.

Queue: Queue ID of the associated queue
Work Session Find By Status TypeFinds all work-sessions associated with the given queue that have the given statusQueue: Queue ID

Status: Work-session status (available/unavailable/busy)
A GET API response to the v1/routing/queues/queueId/work-sessions endpoint with a query on the given status.


Postmark actions


NameDescriptionRequired FieldsOutput
Message SendSends an email message using PostmarkCustomer: Customer ID

Conversation: Conversation ID

From: From email Address

To: To email address
Id: Message Id of message that was sent

From: From email address

To: Array of To email addresses

CC: Array of CC'd email addresses

BCC: Array of BCC'd email addresses

Subject: Subject of email message

Body: Body of email message

Status: Status of message

SendAt: Timestamp of when the message should be sent. (In most cases this will be the same as the Created At output value).

CreatedAt: Time Stamp of when message was created

ModifiedAt: Timestamp of when the message was modified (In most cases this will be the same as the Created At output value).

UpdatedAt: Timestamp of when the message was updated (In most cases this will be the same as the Created At output value).

Conversation: The ID of the conversation


Scheduler actions


NameDescriptionRequired FieldsOutput
Schedule a WorkflowSchedules a callable workflowWorkflowTitle: Name of workflow you'd like to schedule

Type: Determines whether the workflow is called on an absolute date or a relative date

No output