Front

App · Help Desk · 20 actions

Work with your Front shared inboxes: find conversations, reply to them, comment internally, tag, assign and snooze.

Actions

ActionWhat it does
Add an internal commentAdd an internal comment to a conversation.
Add followers to a conversationAdd teammates as followers of a conversation, so they are notified about it.
Add tags to a conversationAdd tags to a conversation, keeping the tags it already has.
Assign a conversationAssign a conversation to a teammate, or clear its assignee so it goes back to unassigned.
Create a discussion or taskStart an internal discussion or a task in Front.
Get a conversationGet one conversation in full: its status, assignee, tags, recipient and reminders.
List channelsList the channels messages can be sent from, and which of them are currently able to send.
List comments on a conversationList the internal comments on a conversation.
List contactsList the company's contacts, optionally only those changed in a given window.
List conversationsList the conversations in your Front company, optionally narrowed to particular statuses.
List inboxesList the inboxes the connection can see, with the id each one is addressed by.
List messages on a conversationList the messages on a conversation.
List tagsList every tag the connection can see: company tags, team tags and teammate tags alike.
List teammatesList everyone in the Front company, with the id each one is addressed by.
Remove tags from a conversationTake tags off a conversation.
Reply to a conversationReply to a conversation.
Search conversationsSearch conversations using Front's own search syntax, such as 'refund is:open' or 'tag:tag_155 after:1748000000'.
Send a messageSend a new message from one of your Front channels, which starts a new conversation.
Snooze a conversationSnooze a conversation until a chosen time, or wake it up again.
Update a conversationChange 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

Conversationconversation_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.
CommentbodytextRequired
The comment. Markdown formatting is supported, and @mentioning a teammate notifies them.
Comment asauthor_idtext
The teammate to post the comment as. Leave blank to post as the connected API token.
Pin the commentis_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

Conversationconversation_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.
Followersteammate_idslistRequired
The teammates to add as followers.
Skip teammates Front does not recogniseignore_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

Conversationconversation_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.
Tagstag_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

Conversationconversation_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 toassignee_idtext
The teammate to assign the conversation to. Leave blank only if you are switching on 'Unassign' below.
Unassign insteadunassigntrue/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

Typeconversation_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.
SubjectsubjecttextRequired
The title the discussion appears under.
First commentcomment_bodytextRequired
The opening comment. Markdown formatting is supported.
Inboxinbox_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.
Teammatesteammate_idslist
Make it a private discussion between these teammates instead of putting it in an inbox.
Comment authorcomment_author_idtext
Post the first comment as this teammate. Leave blank to post as the connected API token.
Task descriptiondescriptiontext
Tasks only: what the task is for.
Task duedue_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

Conversationconversation_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

Conversationconversation_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 afterupdated_afterdate and time
Only return contacts changed at or after this time.
Updated beforeupdated_beforedate and time
Only return contacts changed at or before this time.
Sort bysort_bytext
Which timestamp to sort the contacts on.One of: created_at (Created at), updated_at (Updated at).
Ordersort_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 resultslimitnumber
How many results to return per page (1-100). Defaults to 50.From 1 to 100.
Page tokenpage_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

Statusesstatuseslist
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.
Ordersort_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 resultslimitnumber
How many results to return per page (1-100). Defaults to 50.From 1 to 100.
Page tokenpage_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

Conversationconversation_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.
Ordersort_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 resultslimitnumber
How many results to return per page (1-100). Defaults to 50.From 1 to 100.
Page tokenpage_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

Ordersort_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 resultslimitnumber
How many results to return per page (1-100). Defaults to 50.From 1 to 100.
Page tokenpage_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

Conversationconversation_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.
Tagstag_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

Conversationconversation_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.
ReplybodytextRequired
The reply body. HTML is supported on email channels.
Plain-text versiontexttext
A plain-text version of the body, for email clients that cannot show HTML.
Subjectsubjecttext
Override the subject line. Leave blank to keep the conversation's own.
Totolist
Override the recipients, as handles. Leave blank to reply to whoever is on the conversation.
CCcclist
Handles to copy in.
BCCbcclist
Handles to copy in privately.
Quoted textquote_bodytext
Text to show as the quoted message above the reply. Email channels only.
Send on behalf ofauthor_idtext
The teammate the reply is sent on behalf of. Leave blank to send as the channel itself.
Send fromchannel_idtext
Send from a different channel. Leave blank to use the conversation's own.
Tag the conversationtag_idslist
Tags to put on the conversation as the reply goes.
Archive the conversation after sendingarchivetrue/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 queryquerytextRequired
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 resultslimitnumber
How many results to return per page (1-100). Defaults to 50.From 1 to 100.
Page tokenpage_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 fromchannel_idtextRequired
The channel to send from. A channel labelled 'not connected' has lost its authorisation and cannot send.
TotolistRequired
Who to send to, as handles -- an email address for an email channel, a phone number for SMS. Not contact ids.
Subjectsubjecttext
The subject line, for email channels.
MessagebodytextRequired
The message body. HTML is supported on email channels.
Plain-text versiontexttext
A plain-text version of the body, for email clients that cannot show HTML.
CCcclist
Handles to copy in.
BCCbcclist
Handles to copy in privately.
Send on behalf ofauthor_idtext
The teammate the message is sent on behalf of. Leave blank to send as the channel itself.
Sender namesender_nametext
The name shown as the sender.
Tag the conversationtag_idslist
Tags to put on the new conversation.
Archive the conversation after sendingarchivetrue/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

Conversationconversation_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.
Remindteammate_idtextRequired
The teammate the reminder belongs to.
Wake up atscheduled_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 insteadunsnoozetrue/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

Conversationconversation_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.
Statusstatustext
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.
Assigneeassignee_idtext
Assign the conversation to this teammate. To clear the assignee instead, use 'Assign a conversation'.
Move to inboxinbox_idtext
Move the conversation into this inbox.
Replace tags withtag_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 descriptiondescriptiontext
Tasks only: what the task is for.
Task duedue_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"
  ]
}

On this page