Front
Let an agent work your shared inbox without speaking for you unchecked. It searches and reads conversations, drafts replies, comments, assigns, tags, archives and reopens them, and a reply to a customer can wait for a person.
- host
- api2.frontapp.com
- connect
- API key, per user
Reply to conversation
front-reply-to-conversation
Create draft reply
front-create-draft-reply
Add comment
front-add-comment
Assign conversation
front-assign-conversation
Reads and writes in Front. Writes are off until you switch them on.
Each one is a named operation from the pack. Reads change nothing.
Writes
Reply to conversation
read backfront-reply-to-conversation
Send a reply in one conversation, to its current recipients, from the conversation's channel. The customer receives it. Optionally sent as a teammate (author_id). The conversation is not archived. Front accepts the reply and creates the message a moment later.
Create draft reply
read backfront-create-draft-reply
Create a draft reply to the last message in a conversation, from one channel, shared with the team. Nothing is sent: a teammate reviews and sends it in Front.
Add comment
read backfront-add-comment
Add an internal comment to a conversation, optionally as a teammate. Teammates see it; the customer never does. Markdown works.
Assign conversation
read backfront-assign-conversation
Assign a conversation to one teammate, replacing the current assignee.
Unassign conversation
read backfront-unassign-conversation
Remove the assignee from a conversation. Pass the teammate it is assigned to now (assignee.id from get-conversation).
Archive conversation
read backfront-archive-conversation
Archive a conversation. It leaves the open view and comes back when the customer writes again.
Reopen conversation
read backfront-reopen-conversation
Reopen an archived conversation.
Tag conversation
read backfront-tag-conversation
Add one existing tag to a conversation. The other tags stay.
Create contact
read backfront-create-contact
Create a company contact with a name and one email address, optionally a description.
Rename contact
read backfront-rename-contact
Replace a contact's name.
Set contact description
read backfront-set-contact-description
Replace a contact's description.
Add contact note
acknowledgedfront-add-contact-note
Add a note to a contact, written as one teammate. Teammates see it in the contact's details.
Reads
Search conversations
front-search-conversations
Search conversations with Front's search syntax, newest activity first: for example `is:open inbox:inb_123`, `from:pam@example.com` or `tag:tag_123 refund`. Returns _total and up to 10 conversations a page, each with its status, assignee, recipient and tags. When _pagination.next is set, pass its page_token value as page_token. Front limits this endpoint to a share of the company's rate limit.
Get conversation
front-get-conversation
Get one conversation: subject, status (assigned, unassigned, archived), assignee, recipient, tags, links and custom fields. A merged conversation answers with a redirect to the one it was merged into.
List conversation messages
front-list-conversation-messages
List the messages in a conversation, newest first: sender and recipients, subject, HTML body and text, whether it was inbound, and attachment names. 5 a page, because bodies are long; a very long body can still be cut at the response limit. When _pagination.next is set, pass its page_token value as page_token.
Get message
front-get-message
Get one message by id: sender and recipients, subject, HTML body, text, whether it was inbound, and attachment names. Attachments themselves are not downloaded.
List conversation comments
front-list-conversation-comments
List the internal comments on a conversation, newest first: author, body and when it was posted. Customers never see comments. Front returns them all in one response, so a very long discussion can be cut at the response limit.
List inboxes
front-list-inboxes
List the inboxes the token can see, with id and name. Use an id in a search (`inbox:inb_123`). Front returns them all in one response.
List channels
front-list-channels
List the channels the token can see (email addresses, chat and SMS channels), with id, type, address and inbox. A draft reply needs a channel id. Front returns them all in one response.
List teammates
front-list-teammates
List the company's teammates: id, email, username, name, and whether they are available. Use an id to assign a conversation or to write as a teammate. Front returns them all in one response, so a very large company's list can be cut at the response limit.
List tags
front-list-tags
List the tags the token can see (company, team and teammate tags): id, name and description. 50 a page. When _pagination.next is set, pass its page_token value as page_token.
Get contact
front-get-contact
Get one contact by id: name, description, handles (email, phone and other addresses), the contact lists it is in, links and custom fields.
Find contact by email
front-find-contact-by-email
Get the contact that has this email address as a handle, the same fields as get-contact. Front answers 404 when no contact has it.
List contact conversations
front-list-contact-conversations
List one contact's conversations, newest first, with status, assignee and tags. 10 a page. When _pagination.next is set, pass its page_token value as page_token.
List contact notes
front-list-contact-notes
List the notes teammates added to a contact: author, body and when it was added. Front returns them all in one response.
How do users connect? Each one brings their own Front.
- 1.Call for the userYour server invokes the action for the signed-in user. Without a Front connection, the SDK throws EndUserNotConnectedError with a connect link.
- 2.The user pastes a keyThe link opens a form that shows where in Front's settings to create the key. The link lasts 10 minutes and works once.
- 3.Anlyon checks itThe key is checked with Front before it is kept, and bound to api2.frontapp.com. It is never shown back.
- 4.Your server confirmsYour server confirms the connection for the user who is signed in, and the call goes through.
Guardrails. Suggested limits and approvals, for you to review.
Suggested limits
- 100 replies sent a day
- 200 draft replies a day
- 300 comments a day
- 300 conversations assigned a day
- 100 conversations unassigned a day
- 300 conversations archived a day
- 100 conversations reopened a day
- 300 conversation tags added a day
- 100 contacts created a day
- 100 contacts renamed a day
- 100 contact descriptions set a day
- 200 contact notes a day
Suggested approvals
- A person approves replying to a customer
What the key must allow
- An API token an admin creates
- Global resources and the shared workspaces your agent works in
- Read, Write and Send; Delete is not needed
Good to know
- A reply is sent once and never repeated: Front has no idempotency key for it.
- Removing a tag is not offered.
For your own account
- 1.In Front, an admin opens Settings, Developers, API Tokens and creates a token.
- 2.In Anlyon, open Actions, then Integrations, choose Front and paste the token.
- 3.Anlyon checks the token with Front before storing it. It becomes a secret named FRONT, bound to api2.frontapp.com.
Front in your code. For one of your users, or for your own account.
Act for one of your users from your server, or connect your company's own Front with the CLI.
import { Client, EndUserNotConnectedError } from "@anlyonhq/sdk";const anlyon = new Client({ apiKey: process.env.ANLYON_API_KEY! });try { const { data } = await anlyon .forUser(session.userId) .actions.invoke("front-create-draft-reply", { conversation_id: "cnv_55c8c149", channel_id: "cha_14tfp", body: "Hi Sam, we refunded your order." }); return { status: "done", grade: data.grade };} catch (error) { if (error instanceof EndUserNotConnectedError) { // The user connects their own Front, then you call again. return { status: "connect_required", url: error.connectUrl }; } throw error;}Other integrations. Under the same limits, approvals and receipts.
Available
Stripe
Payments · API key
Refunds under a money ceiling, and every customer, payment and invoice to read.
Available
GitHub
Code · API key
Issues, pull requests and code, in the repositories you choose.
Available
HubSpot
CRM · Sign in
Contacts, companies and deals: search them and change them.
- Anlyon app
- Available
- Your own app
- Recommended for production
