Front
App · Help Desk · 20 actions
Work with your Front shared inboxes: find conversations, reply to them, comment internally, tag, assign and snooze.
Actions
| Action | What it does |
|---|---|
| Add an internal comment | Add an internal comment to a conversation. |
| Add followers to a conversation | Add teammates as followers of a conversation, so they are notified about it. |
| Add tags to a conversation | Add tags to a conversation, keeping the tags it already has. |
| Assign a conversation | Assign a conversation to a teammate, or clear its assignee so it goes back to unassigned. |
| Create a discussion or task | Start an internal discussion or a task in Front. |
| Get a conversation | Get one conversation in full: its status, assignee, tags, recipient and reminders. |
| List channels | List the channels messages can be sent from, and which of them are currently able to send. |
| List comments on a conversation | List the internal comments on a conversation. |
| List contacts | List the company's contacts, optionally only those changed in a given window. |
| List conversations | List the conversations in your Front company, optionally narrowed to particular statuses. |
| List inboxes | List the inboxes the connection can see, with the id each one is addressed by. |
| List messages on a conversation | List the messages on a conversation. |
| List tags | List every tag the connection can see: company tags, team tags and teammate tags alike. |
| List teammates | List everyone in the Front company, with the id each one is addressed by. |
| Remove tags from a conversation | Take tags off a conversation. |
| Reply to a conversation | Reply to a conversation. |
| Search conversations | Search conversations using Front's own search syntax, such as 'refund is:open' or 'tag:tag_155 after:1748000000'. |
| Send a message | Send a new message from one of your Front channels, which starts a new conversation. |
| Snooze a conversation | Snooze a conversation until a chosen time, or wake it up again. |
| Update a conversation | Change a conversation's status, assignee, inbox or tags. |
Add an internal comment
Add an internal comment to a conversation. Only teammates see it: it is never sent to the customer.
Inputs
- Conversation
conversation_idtextRequired - The conversation's Front id, which looks like cnv_55c8c149. Use 'List conversations' or 'Search conversations' to find one -- you can also paste the web address of the conversation from Front.
- Comment
bodytextRequired - The comment. Markdown formatting is supported, and @mentioning a teammate notifies them.
- Comment as
author_idtext - The teammate to post the comment as. Leave blank to post as the connected API token.
- Pin the comment
is_pinnedtrue/false - Pin it to the top of the conversation.Default:
false.
Outputs
commentobject- The comment that was created.
comment_idtext- The new comment's id.
conversation_idtext- The conversation the comment was added to.
statustext- Status of the action execution ("success" on success).
Example output
{
"comment": {
"body": "Refunded, closing this out.",
"id": "com_55c8c149",
"is_pinned": false,
"posted_at": 1758038460.0
},
"comment_id": "com_55c8c149",
"conversation_id": "cnv_55c8c149",
"status": "success"
}Add followers to a conversation
Add teammates as followers of a conversation, so they are notified about it.
Inputs
- Conversation
conversation_idtextRequired - The conversation's Front id, which looks like cnv_55c8c149. Use 'List conversations' or 'Search conversations' to find one -- you can also paste the web address of the conversation from Front.
- Followers
teammate_idslistRequired - The teammates to add as followers.
- Skip teammates Front does not recognise
ignore_errorstrue/false - Off by default. Switching it on makes Front add the teammates it recognises and report success anyway, which hides a wrong id instead of reporting it.Default:
false.
Outputs
conversation_idtext- The conversation the followers were added to.
followers_addednumber- How many teammates were sent.
statustext- Status of the action execution ("success" on success).
teammate_idslist- The teammates that were added.
Example output
{
"conversation_id": "cnv_55c8c149",
"followers_added": 1,
"status": "success",
"teammate_ids": [
"tea_55c8c149"
]
}Add tags to a conversation
Add tags to a conversation, keeping the tags it already has.
Inputs
- Conversation
conversation_idtextRequired - The conversation's Front id, which looks like cnv_55c8c149. Use 'List conversations' or 'Search conversations' to find one -- you can also paste the web address of the conversation from Front.
- Tags
tag_idslistRequired - The tags to apply. Use 'List tags' to see every tag available.
Outputs
conversation_idtext- The conversation that was tagged.
statustext- Status of the action execution ("success" on success).
tag_idslist- The tags that were added.
taggedtrue/false- True when Front accepted the tags.
Example output
{
"conversation_id": "cnv_55c8c149",
"status": "success",
"tag_ids": [
"tag_155"
],
"tagged": true
}Assign a conversation
Assign a conversation to a teammate, or clear its assignee so it goes back to unassigned.
Inputs
- Conversation
conversation_idtextRequired - The conversation's Front id, which looks like cnv_55c8c149. Use 'List conversations' or 'Search conversations' to find one -- you can also paste the web address of the conversation from Front.
- Assign to
assignee_idtext - The teammate to assign the conversation to. Leave blank only if you are switching on 'Unassign' below.
- Unassign instead
unassigntrue/false - Switch on to remove the current assignee rather than setting one.Default:
false.
Outputs
assignedtrue/false- True when a teammate was set, false when cleared.
assignee_idtext- The teammate it is now assigned to, if any.
conversation_idtext- The conversation that was assigned.
statustext- Status of the action execution ("success" on success).
Example output
{
"assigned": true,
"assignee_id": "tea_55c8c149",
"conversation_id": "cnv_55c8c149",
"status": "success"
}Create a discussion or task
Start an internal discussion or a task in Front. Both hold comments only: nothing here is ever sent to a customer.
Inputs
- Type
conversation_typetextRequired - A discussion is a thread teammates comment on; a task is the same thing with a description and a due date.One of:
discussion,task. Default:discussion. - Subject
subjecttextRequired - The title the discussion appears under.
- First comment
comment_bodytextRequired - The opening comment. Markdown formatting is supported.
- Inbox
inbox_idtext - Put the discussion in this shared inbox, where everyone with access to it can see it. Choose either an inbox or teammates, not both.
- Teammates
teammate_idslist - Make it a private discussion between these teammates instead of putting it in an inbox.
- Comment author
comment_author_idtext - Post the first comment as this teammate. Leave blank to post as the connected API token.
- Task description
descriptiontext - Tasks only: what the task is for.
- Task due
due_atdate and time - Tasks only: when the task is due. Must be in the future.
Outputs
conversationobject- The conversation that was created.
conversation_idtext- The new conversation's id.
statustext- Status of the action execution ("success" on success).
Example output
{
"conversation": {
"created_at": 1758038400.0,
"id": "cnv_55c8c149",
"is_private": false,
"status": "unassigned",
"subject": "Refund policy for damaged goods",
"type": "discussion"
},
"conversation_id": "cnv_55c8c149",
"status": "success"
}Get a conversation
Get one conversation in full: its status, assignee, tags, recipient and reminders.
Inputs
- Conversation
conversation_idtextRequired - The conversation's Front id, which looks like cnv_55c8c149. Use 'List conversations' or 'Search conversations' to find one -- you can also paste the web address of the conversation from Front.
Outputs
conversationobject- The conversation.
statustext- Status of the action execution ("success" on success).
Example output
{
"conversation": {
"created_at": 1758038400.0,
"id": "cnv_55c8c149",
"status": "assigned",
"subject": "Where is my order?",
"tags": [
{
"id": "tag_155",
"name": "Urgent"
}
],
"type": "email"
},
"status": "success"
}List channels
List the channels messages can be sent from, and which of them are currently able to send.
Inputs
None.
Outputs
channelslist- Every channel on the company.
countnumber- How many channels were returned.
sending_channel_idslist- The ids of the channels that can currently send. A channel that has lost its authorisation is left out, because sending from it is refused.
statustext- Status of the action execution ("success" on success).
Example output
{
"channels": [
{
"address": "support@example.com",
"id": "cha_55c8c149",
"is_valid": true,
"name": "Support",
"type": "smtp"
}
],
"count": 1,
"sending_channel_ids": [
"cha_55c8c149"
],
"status": "success"
}List comments on a conversation
List the internal comments on a conversation. Comments are only ever seen by teammates, never by the customer.
Inputs
- Conversation
conversation_idtextRequired - The conversation's Front id, which looks like cnv_55c8c149. Use 'List conversations' or 'Search conversations' to find one -- you can also paste the web address of the conversation from Front.
Outputs
commentslist- The comments on the conversation.
conversation_idtext- The conversation the comments belong to.
countnumber- How many comments were returned.
statustext- Status of the action execution ("success" on success).
Example output
{
"comments": [
{
"body": "Refunded, closing this out.",
"id": "com_55c8c149",
"is_pinned": false,
"posted_at": 1758038460.0
}
],
"conversation_id": "cnv_55c8c149",
"count": 1,
"status": "success"
}List contacts
List the company's contacts, optionally only those changed in a given window.
Inputs
- Updated after
updated_afterdate and time - Only return contacts changed at or after this time.
- Updated before
updated_beforedate and time - Only return contacts changed at or before this time.
- Sort by
sort_bytext - Which timestamp to sort the contacts on.One of:
created_at(Created at),updated_at(Updated at). - Order
sort_ordertext - Which end of the list to start from. Leave blank for Front's own order.One of:
asc(Oldest first),desc(Newest first). - Maximum results
limitnumber - How many results to return per page (1-100). Defaults to 50.From 1 to 100.
- Page token
page_tokentext - Ask for the next page of results. Use the 'page_token' this action returned last time; leave blank for the first page.
Outputs
contactslist- The contacts that matched.
countnumber- How many contacts were returned.
pagingobject- Front's cursor for the next page: 'page_token' is what to send back to this action, and is empty when there are no more results.
statustext- Status of the action execution ("success" on success).
Example output
{
"contacts": [
{
"handles": [
{
"handle": "hermes@example.com",
"source": "email"
}
],
"id": "crd_55c8c149",
"is_private": false,
"name": "Hermes Conrad"
}
],
"count": 1,
"paging": {
"next": "",
"page_token": ""
},
"status": "success"
}List conversations
List the conversations in your Front company, optionally narrowed to particular statuses.
Inputs
- Statuses
statuseslist - Only return conversations in these statuses. Leave blank for every status except the trash. Note that the trash is called 'trashed' here and reads back as 'deleted' on the conversation itself.One or more of:
assigned,unassigned,archived,trashed. - Order
sort_ordertext - Which end of the list to start from. Leave blank for Front's own order.One of:
asc(Oldest first),desc(Newest first). - Maximum results
limitnumber - How many results to return per page (1-100). Defaults to 50.From 1 to 100.
- Page token
page_tokentext - Ask for the next page of results. Use the 'page_token' this action returned last time; leave blank for the first page.
Outputs
conversationslist- The conversations that matched.
countnumber- How many conversations were returned.
pagingobject- Front's cursor for the next page: 'page_token' is what to send back to this action, and is empty when there are no more results.
statustext- Status of the action execution ("success" on success).
Example output
{
"conversations": [
{
"created_at": 1758038400.0,
"id": "cnv_55c8c149",
"is_private": false,
"status": "assigned",
"subject": "Where is my order?",
"type": "email"
}
],
"count": 1,
"paging": {
"next": "",
"page_token": ""
},
"status": "success"
}List inboxes
List the inboxes the connection can see, with the id each one is addressed by.
Inputs
None.
Outputs
countnumber- How many inboxes were returned.
inboxeslist- The inboxes the token can see.
statustext- Status of the action execution ("success" on success).
Example output
{
"count": 1,
"inboxes": [
{
"id": "inb_55c8c149",
"is_private": false,
"is_public": true,
"name": "Support"
}
],
"status": "success"
}List messages on a conversation
List the messages on a conversation. Each one carries both the HTML body and a plain-text version, plus a short preview.
Inputs
- Conversation
conversation_idtextRequired - The conversation's Front id, which looks like cnv_55c8c149. Use 'List conversations' or 'Search conversations' to find one -- you can also paste the web address of the conversation from Front.
- Order
sort_ordertext - Which end of the list to start from. Leave blank for Front's own order.One of:
asc(Oldest first),desc(Newest first). - Maximum results
limitnumber - How many results to return per page (1-100). Defaults to 50.From 1 to 100.
- Page token
page_tokentext - Ask for the next page of results. Use the 'page_token' this action returned last time; leave blank for the first page.
Outputs
conversation_idtext- The conversation the messages belong to.
countnumber- How many messages were returned.
messageslist- The messages on the conversation.
pagingobject- Front's cursor for the next page: 'page_token' is what to send back to this action, and is empty when there are no more results.
statustext- Status of the action execution ("success" on success).
Example output
{
"conversation_id": "cnv_55c8c149",
"count": 1,
"messages": [
{
"blurb": "Hi, I ordered a week ago and...",
"created_at": 1758038400.0,
"id": "msg_55c8c149",
"is_inbound": true,
"type": "email"
}
],
"paging": {
"next": "",
"page_token": ""
},
"status": "success"
}List tags
List every tag the connection can see: company tags, team tags and teammate tags alike.
Inputs
- Order
sort_ordertext - Which end of the list to start from. Leave blank for Front's own order.One of:
asc(Oldest first),desc(Newest first). - Maximum results
limitnumber - How many results to return per page (1-100). Defaults to 50.From 1 to 100.
- Page token
page_tokentext - Ask for the next page of results. Use the 'page_token' this action returned last time; leave blank for the first page.
Outputs
countnumber- How many tags were returned.
pagingobject- Front's cursor for the next page: 'page_token' is what to send back to this action, and is empty when there are no more results.
statustext- Status of the action execution ("success" on success).
tagslist- The tags the token can see.
Example output
{
"count": 1,
"paging": {
"next": "",
"page_token": ""
},
"status": "success",
"tags": [
{
"created_at": 1758038400.0,
"highlight": "red",
"id": "tag_155",
"is_private": false,
"name": "Urgent"
}
]
}List teammates
List everyone in the Front company, with the id each one is addressed by.
Inputs
None.
Outputs
countnumber- How many teammates were returned.
statustext- Status of the action execution ("success" on success).
teammateslist- The company's teammates.
Example output
{
"count": 1,
"status": "success",
"teammates": [
{
"email": "leela@example.com",
"first_name": "Turanga",
"id": "tea_55c8c149",
"is_admin": true,
"last_name": "Leela",
"type": "user"
}
]
}Remove tags from a conversation
Take tags off a conversation. Any tag you do not name is left where it is.
Inputs
- Conversation
conversation_idtextRequired - The conversation's Front id, which looks like cnv_55c8c149. Use 'List conversations' or 'Search conversations' to find one -- you can also paste the web address of the conversation from Front.
- Tags
tag_idslistRequired - The tags to apply. Use 'List tags' to see every tag available.
Outputs
conversation_idtext- The conversation the tags came off.
statustext- Status of the action execution ("success" on success).
tag_idslist- The tags that were removed.
untaggedtrue/false- True when Front accepted the removal.
Example output
{
"conversation_id": "cnv_55c8c149",
"status": "success",
"tag_ids": [
"tag_155"
],
"untagged": true
}Reply to a conversation
Reply to a conversation. The recipients and channel default to the conversation's own, so a body is usually all you need. Discussions and tasks cannot be replied to: comment instead.
Inputs
- Conversation
conversation_idtextRequired - The conversation's Front id, which looks like cnv_55c8c149. Use 'List conversations' or 'Search conversations' to find one -- you can also paste the web address of the conversation from Front.
- Reply
bodytextRequired - The reply body. HTML is supported on email channels.
- Plain-text version
texttext - A plain-text version of the body, for email clients that cannot show HTML.
- Subject
subjecttext - Override the subject line. Leave blank to keep the conversation's own.
- To
tolist - Override the recipients, as handles. Leave blank to reply to whoever is on the conversation.
- CC
cclist - Handles to copy in.
- BCC
bcclist - Handles to copy in privately.
- Quoted text
quote_bodytext - Text to show as the quoted message above the reply. Email channels only.
- Send on behalf of
author_idtext - The teammate the reply is sent on behalf of. Leave blank to send as the channel itself.
- Send from
channel_idtext - Send from a different channel. Leave blank to use the conversation's own.
- Tag the conversation
tag_idslist - Tags to put on the conversation as the reply goes.
- Archive the conversation after sending
archivetrue/false - Off by default, which leaves the conversation open in the inbox. Note that Front's own API archives on send unless told otherwise -- this action always tells it, so the switch is what decides.Default:
false.
Outputs
conversation_idtext- The conversation that was replied to.
message_uidtext- Front's reference for the queued reply. This is not a message id and cannot be read back with an action.
send_statustext- What Front reported when it accepted the send.
statustext- Status of the action execution ("success" on success).
Example output
{
"conversation_id": "cnv_55c8c149",
"message_uid": "a1b2c3d4e5f6a7b8c9d0",
"send_status": "accepted",
"status": "success"
}Search conversations
Search conversations using Front's own search syntax, such as 'refund is:open' or 'tag:tag_155 after:1748000000'.
Inputs
- Search query
querytextRequired - Words to search for, plus any of Front's filters: is:, inbox:, tag:, assignee:, from:, to:, before:, after:. is: accepts archived, assigned, open, resolved, snoozed, trashed, unassigned, unreplied, waiting. Trashed conversations are left out unless you ask for is:trashed.
- Maximum results
limitnumber - How many results to return per page (1-100). Defaults to 50.From 1 to 100.
- Page token
page_tokentext - Ask for the next page of results. Use the 'page_token' this action returned last time; leave blank for the first page.
Outputs
conversationslist- The conversations on this page of results.
countnumber- How many conversations on this page were returned.
pagingobject- Front's cursor for the next page: 'page_token' is what to send back to this action, and is empty when there are no more results.
statustext- Status of the action execution ("success" on success).
totalnumber- How many conversations matched in total.
Example output
{
"conversations": [
{
"created_at": 1758038400.0,
"id": "cnv_55c8c149",
"status": "open",
"subject": "Refund request"
}
],
"count": 1,
"paging": {
"next": "",
"page_token": ""
},
"status": "success",
"total": 1
}Send a message
Send a new message from one of your Front channels, which starts a new conversation. Front queues the send and answers with a message reference rather than the conversation, so use 'Search conversations' afterwards if you need it.
Inputs
- Send from
channel_idtextRequired - The channel to send from. A channel labelled 'not connected' has lost its authorisation and cannot send.
- To
tolistRequired - Who to send to, as handles -- an email address for an email channel, a phone number for SMS. Not contact ids.
- Subject
subjecttext - The subject line, for email channels.
- Message
bodytextRequired - The message body. HTML is supported on email channels.
- Plain-text version
texttext - A plain-text version of the body, for email clients that cannot show HTML.
- CC
cclist - Handles to copy in.
- BCC
bcclist - Handles to copy in privately.
- Send on behalf of
author_idtext - The teammate the message is sent on behalf of. Leave blank to send as the channel itself.
- Sender name
sender_nametext - The name shown as the sender.
- Tag the conversation
tag_idslist - Tags to put on the new conversation.
- Archive the conversation after sending
archivetrue/false - Off by default, which leaves the conversation open in the inbox. Note that Front's own API archives on send unless told otherwise -- this action always tells it, so the switch is what decides.Default:
false.
Outputs
channel_idtext- The channel the message was sent from.
message_uidtext- Front's reference for the queued message. This is not a message id and cannot be read back with an action.
send_statustext- What Front reported when it accepted the send.
statustext- Status of the action execution ("success" on success).
Example output
{
"channel_id": "cha_55c8c149",
"message_uid": "a1b2c3d4e5f6a7b8c9d0",
"send_status": "accepted",
"status": "success"
}Snooze a conversation
Snooze a conversation until a chosen time, or wake it up again. In a shared inbox the reminder is shared by everyone in it.
Inputs
- Conversation
conversation_idtextRequired - The conversation's Front id, which looks like cnv_55c8c149. Use 'List conversations' or 'Search conversations' to find one -- you can also paste the web address of the conversation from Front.
- Remind
teammate_idtextRequired - The teammate the reminder belongs to.
- Wake up at
scheduled_atdate and time - When the conversation should come back. Must be in the future. Leave blank only if you are switching on 'Unsnooze' below.
- Unsnooze instead
unsnoozetrue/false - Switch on to cancel the reminder and bring the conversation back now.Default:
false.
Outputs
conversation_idtext- The conversation the reminder is on.
scheduled_attext- When the conversation will come back, in UTC. Empty when the reminder was cancelled.
snoozedtrue/false- True when snoozed, false when woken up.
statustext- Status of the action execution ("success" on success).
teammate_idtext- The teammate the reminder belongs to.
Example output
{
"conversation_id": "cnv_55c8c149",
"scheduled_at": "2026-09-18T09:00:00Z",
"snoozed": true,
"status": "success",
"teammate_id": "tea_55c8c149"
}Update a conversation
Change a conversation's status, assignee, inbox or tags. Only the fields you fill in are changed, but note that tags replace rather than add.
Inputs
- Conversation
conversation_idtextRequired - The conversation's Front id, which looks like cnv_55c8c149. Use 'List conversations' or 'Search conversations' to find one -- you can also paste the web address of the conversation from Front.
- Status
statustext - The status to move the conversation to. 'Deleted' moves it to the trash, where it can still be restored.One of:
archived,open,deleted,spam. - Assignee
assignee_idtext - Assign the conversation to this teammate. To clear the assignee instead, use 'Assign a conversation'.
- Move to inbox
inbox_idtext - Move the conversation into this inbox.
- Replace tags with
tag_idslist - The complete set of tags the conversation should end up with. This replaces its tags: any tag you leave out is removed. To add one without disturbing the rest, use 'Add tags to a conversation'.
- Task description
descriptiontext - Tasks only: what the task is for.
- Task due
due_atdate and time - Tasks only: when the task is due. Must be in the future.
Outputs
conversation_idtext- The conversation that was updated.
statustext- Status of the action execution ("success" on success).
status_settext- The status the conversation was moved to, if any.
updatedtrue/false- True when Front accepted the change.
updated_fieldslist- The names of the fields that were sent.
Example output
{
"conversation_id": "cnv_55c8c149",
"status": "success",
"status_set": "archived",
"updated": true,
"updated_fields": [
"status"
]
}