Community topics about Front APIs and SDKs
Recently active
Hi,In playing around with app requests, I have noticed that it’s possible to map JSON output to dynamic fields, which can in turn update a custom field on the conversation using a rule. However, this seems to only work for a single property. My question is about updating multiple custom fields on the conversation. Is it possible to update multiple custom fields in response to a single application request, without triggering duplicate app requests for each dynamic field? Or is the best approach for this use case to have my backend update the custom fields directly via an API call?For example, I would like to ping my backend with a single request to get the user’s current subscription plan and their renewal date, and update two custom fields (plan and renewal date) on the conversation without triggering a separate application request for each field. The alternative is to ping my backend once with a custom request and have the backend itself update the custom fields by hitting Front’s API
I built a custom integration between Front and Atlassian Statuspages. This allows you to more easily associate support cases with incidents posted on your status site. How does it work?The app subscribe to incidents from an Atlassian Statuspage via the webhooks feature, and gets notified immediately on any new incidents. That event triggers an Application Object to be created in Front with the incident data. You can configure the App Object to match any cases where link to that incident is mentioned in a message or comment, to automatically apply the App Object to the conversation. On receiving further updates via the webhook about the incident status, you can use Application Triggers to update the status of the App Object. Once the incident moves to a Resolved state, add a rule to automatically re-open each linked conversation so your team can quickly respond and let customers know the incident has been resolved. Given that you can’t authenticate or format the structure of Statuspag
Solving API Timeouts with Connectors + Application TriggersWe've published a new workflow tutorial that shows how to handle a common integration challenge: what happens when your external system takes longer to process than Front's API timeout allows?The scenario: You trigger an API call from Front (creating an order, generating a document, processing a complex workflow), the record is created successfully in your external system, but Front times out before receiving the response. Your downstream automations never fire because Front never got the critical data back, such as the new order’s unique identifier.The solution uses a callback pattern combining:App requests (Connectors) to initiate the process via macros App objects (Connectors) to mark conversations waiting for data Webhooks from your external system when processing completes Application triggers to receive that data back into Front Rules to execute your downstream automationsWe walk through a complete end-to-end example usin
Hello, We are a mortgage company using Front for our funding teams communication with loan officers, warehouse banks, title companies etc. Our primary tools we use are Airtable and make.com. My end goal is:When the initial contact point occurs, associate the conversation and the airtable record together by housing the convID in Airtable and the Airtable recordID as a custom object I assume?Have a sidebar plugin that users can open up and it show information about the Airtable record associated with the current conversation, Be able to make small updates to statuses etc in Airtable from inside the plugin. Is there any recommended ways to go about this? Whether it be instructions or just links to highly rated partners?Thank you!
We’re excited to introduce application channel message templates in Front, designed to streamline your messaging workflows by enabling template synchronization directly from your external services. This feature offers a robust solution for maintaining consistency and efficiency in your communication channels, providing a seamless way to sync message templates created in external services (such as WhatsApp, Facebook, Google, etc.) into Front for use with your application channels.A WhatsApp message template synced into a Front application channel Application message templates are supported through two new API endpoints:Sync application message template for importing external templates for the first time Update application message template for propagating updates to existing templates To get started, ensure you have enabled the Templates checkbox in your application channel settings within your developer app. The templates are configured in the external service (such as WhatsApp, Facebo
Front now sends 3 new event types:ticket_status_update—sent when a ticket changes statuses. topic_identified—sent when a new topic is identified by Front AI. macro_triggered—sent when a teammate runs a macro.Refer to the Events topic in our Developer Portal to learn how to use these events. We hope these new events are useful to your development! Please let us know if you have any feedback.
Hi Front Team,I am attempting to use the /events endpoint for incremental syncs, and I realized that it does not capture updates to the name or status of existing tickets. Similarly, these updates do not update the last activity timestamps used to order the response to /conversations/search.At the moment, the workaround is to re-pull all tickets in bulk, which is inefficient and can quickly run into rate limits.Are there other workarounds? If not, is there a plan to support these updates, either as new event types or as filters? Thank you!
When I add a comment myself I can mention a conversation (cnv_*) and it will get turned into a link and a little preview added below. When I do that via the API that doesnt happen. I can do the linkify myself as a markdown link but I’d love to be able to get the previews to show as well. Any way to do that?
Hi,I’m creating an integration with Front which will sync conversation and inbox data. API tokens will not work for my use case, so I need to use OAuth.Can I add Workspace scopes to an OAuth app? Workspace scopes are visible when creating API tokens but not OAuth.I am also trying to use OAuth with non-admin users. Is there any way to authenticate non-admin users with workspace member users using OAuth? Specifically, I need to use the Shared resources scope so that the integration can pull conversation, inboxes, etc. for a user.Thanks!
Hi all I’m wanting to pull back when a message originated from a message template via the API - looking at https://dev.frontapp.com/reference/get-message there doesn’t seem to be a field for this, however inside the dashboard under “analytics / Message templates” I can see that this information is available e.g “password reset” template was used 300 times.Is this same information available via the API?Thanks!
I’m trying to create a webhook within my internal app. Whenever I click the “Create” button on the “Create Webhook” page a toast pops up saying “Webhook veritification failed”. I have verified from the logs (and from trying it in curl myself) that the URL is responding with a 200 status, application/json type and “{ "type": "success" }” as the content. What else do I need to do to get Front to accept my webhook url?
We are thrilled to announce the implementation of a new rate limiting system that offers a more sophisticated and user-friendly approach to managing API requests. We will start rolling this new rate limiter out on Monday, September 22nd, with the aim of updating all companies by Friday, September 26th. Our improved rate limiter provides the following key enhancements: 1. Removing the penalty for 429 rate-limited requestsIn the past, hitting the rate limit meant that requests that returned a 429 response informing you of the breach also counted against your limit, which could result in compounding and unnecessarily long windows before your limit was reset. With the new system, 429 rate-limited requests will not count towards your rate limit, making it clearer to understand when your new rate limit window will replenish.2. Burst Limit for Occasional Traffic SpikesThe introduction of a burst limit provides an additional layer of allowance for those unexpected spikes in traffic. This allow
I’m currently trying to understand whether there’s a way to determine which user granted the OAuth token I’m using in the request?I’ve found the `API Token Details`, but that appears to only expose company-level information.Could I achieve this by introspecting the JWT claims? (e.g. `sub`?)
Dear community,I need your help and would greatly appreciate any support.My task:Fetch exactly the same conversations shown to my users and team inboxes in the “Open” and “Later”/“Snoozed” views. I have not been able to accomplish this.Could someone provide a sample code or give instructions how to exactly filter conversations to achieve the goal? (I am Admin).Thank you,Best regards,Denis
I’m currently having trouble where I’m not able to trigger a sidebar opening when clicking “Call with” from a contact preview. It works without issue from the Contact Sidebar, but not the preview card. I’ve recorded this demo walking through what I’m experiencing.
Hello, We are looking for a developer who could connect Front to our property management software with API and Webhooks. We could also use some additional settings in Front, if you are interested send us a message or an e-mail on info@rent4me.hr I hope this is in line with the community guidelines. Kind regards,
I am using the POST `/conversations/cnv_123/messages` endpoint to add a reply message to a conversation that already exists. When I fetch the messages, I see that they contain a `metadata` field that is just {}. Is there a way to set custom metadata fields for later use in the endpoint? When I try just adding a `metadata` field to my payload, the operation passes but the metadata does not persist when re-fetched.
Hello - at the moment when attempting to use an inbuilt copy paste button in my sidebar plugin i get the following error.Unhandled Runtime ErrorNotAllowedError: Failed to execute 'writeText' on 'Clipboard': The Clipboard API has been blocked because of a permissions policy applied to the current document. See https://goo.gl/EuHzyv for more details.After investigating the front sidebar plugin iFrame it looks as if clipboard-write is not allowed. Are there either, plans to change this or a suggested workaround? If no plans to change at the moment i can submit as a suggestion. Thank you for your help.
We're excited to announce that the Front UI Kit is now fully compatible with React 19! This update ensures that our components and Storybook are aligned with the latest major React revision, allowing you to take advantage of React 19's new features and improvements. To update run npm install @frontapp/ui-kit@latest or yarn add @frontapp/ui-kit@latestMake sure you are using React 19 before upgrading the Front UI Kit React 19 introduces several enhancements that improve app performance, developer experience, and component flexibility. Our team has diligently tested and updated our UI Kit to ensure smooth integration and optimal functionality with this major React release. For those who aren’t familiar, the Front UI Kit is a set of React components that help you build plugins. The Front UI Kit includes buttons, menus, date pickers, and many other useful and common plugin components. Using the Front UI Kit should help you save on development time and provide your plugin users a set of well
This change contains a deprecation of the external_conversation_id property in the metadata object.You can now reply to specific messages through application channels.{ "type": "message", "payload": { [MESSAGE BODY] }, "metadata": { "external_conversation_ids": string[], // External identifier of the conversations related to this message. "referenced_message_external_id": string // (Optional) ID of the message being referenced as a direct reply }}As part of this change, we are introducing two new properties in the metadata object used when creating or replying to messages in a channel:external_conversation_ids—a string array containing the external conversation identifiers, which you use when creating or receiving messages. This property replaces external_conversation_id, which is now deprecated in the metadata object. This change allows you to send multiple external conversation IDs instead of just one. reference_message_external_id—the external identifier of the mes
I ran into internal error 500 when trying to use attachments. Even If I don’t use attachments and just Content-type multipart/form-data it returns error anyway.postmanpostmanwith code (wordpress)[headers] => WpOrg\Requests\Utility\CaseInsensitiveDictionary Object ( [data:protected] => Array ( [date] => Sun, 03 Aug 2025 06:23:15 GMT [content-type] => application/json; charset=utf-8 [content-length] => 52 [x-ratelimit-limit] => 100 [x-ratelimit-remaining] => 98 [x-ratelimit-reset] => 1754202213.637 [vary] => Accept [etag] => W/"34-zWc8gW+EWeg2mrqPaNjNywdzhTk" [x-front-time] => 33 ) ) [body] => {"_error":{"message":"An internal error occurred."}}
Hi everyone, Has anyone here built a custom integration between Front and a cloud contact center solution?We’re looking to:Display incoming voice call context in Front Sync call metadata (duration, caller ID, agent notes)
I have an image in signature. When sending from admin image is shown correctly and has attribute data-image-whitelisted. But when using API it is brokenfrom API$url = 'https://api2.frontapp.com/channels/' . $channel_id . '/messages'; $body = array( 'to' => array( $to ), 'subject' => $subject, 'body' => $content, 'text' => wp_strip_all_tags( $content ), 'options' => array( 'archive' => false, ), 'author_id' => 'tea_j7twg', 'signature_id' => $signature_id, ); $args = array( 'method' => 'POST', 'headers' => array( 'Authorization' => 'Bearer ' . $api_token, 'Content-Type' => 'application/json', // 'Content-type' => 'multipart/form-data', ), 'body' => wp_json_encode( $body ), 'timeout' => 30, ); from adminI know also that if omit author_id, email always in spam.
You can now configure servers with variable subdomains. This enables your apps to connect to APIs with customer-specific endpoints (e.g. Salesforce, Shopify, Netsuite) or support different regions or production environments. During setup, the developer specifies what part of the origin is a variable, and then during installation of your app, Front admins supply the specific subdomain value. Happy coding!
I want to access the data used to calculate handle time for my team which to my understanding isn’t included in the fivetran schema that I’m currently using to connect to the database. Which API end point do I need to interact with to get this? I understand the logic used to calculated handle time but what are the fields (i.e. date, interval) used called and how can I find them?
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.