Ask technical questions about the Front Platform
Recently active
This forum is the primary way to receive API assistance. Post questions about our APIs and SDKs in this forum. Posting questions in our Developer Q&A allows other developers to learn from your question and allows the broader developer community to suggest innovative solutions or respond with follow-up questions of their own. However, there are times when you should contact Front Support instead. These include:Reporting bugs or performance issues When you need changes made to your Front account When you need to share private information to troubleshoot a problem If your issue does not fall into one of those categories, then please post in this forum. Rest assured our Support Engineers and community gurus will see your question and respond before you know it!
I love the new knowledge base integration with AI, but I’d like to add additional context to the AI based on the user submitted message the AI is looking at.Having the AI have access to our MCP server means it can look up specific information about the user requesting help as well as access documentation.Is that a possibility? I couldn’t find a good approach using Connectors.
Hi, Trying to figure out how to create and manage Sequences via API and coming up empty. The public Core API spec has no sequences paths, the dev portal reference doesn't mention them, and there's nothing in the changelog.A bit disappointed we are not being able to drive them programmatically. This means we either keep humans clicking through the UI or rebuild a sequencing engine on top of public primitives. Both of which are worse than a thin API wrapper would be.A few questions:Are sequence endpoints available on any plan tier or beta that's just not in the public spec? Is there a roadmap item or feature request to track / +1? If sequences endpoints aren't coming, what's the recommended composition for sequence-like workflows in their absence?
We have a use case where we have a unique id, e.g. 12345, for each customer case and we want to have a unique email address with that id, e.g. 12345@cases.example.com, that a customer can send emails to when they have queries. We have setup the inbound flow so customers can send us emails to the unique email address and we can see them in the Front inbox, however, we can’t seem to be able to specify we are replying from that unique email address or set the reply to header to be that unique email address. This breaks our workflow. Is there any way around this?
Hi all, I’m struggling with something….I have a conversation custom field “Shipment Number” and an app object which is basically just a URL.I want to append the shipment number to the URL. Then I can create rules to populate this object when Shipment number is filled in.Is this possible?
Hi friends!I am implementing a custom solution and need to be able to search and identify contacts on Front with their phone number.I have tried https://api2.frontapp.com/contacts/alt:phone:[Number] returns an exact result if the number exists. However in many cases the number doesn’t exist and it return a 404 error which causes the custom template I am building to crash.I have also tried https://api2.frontapp.com/contacts?q=[Number] but the problem is that the query is ignored and all the contacts we have are returned every time and these contacts have no connection to the query. This is really not helpful. If this endpoint can return only contacts that have the query as a handle or name, that will be a lot more helpful.Has anyone had a reason to do something similar or is there anything I must have missed with searching contacts with the query method?
I’ve made a private oauth app to access resources. Only shared resources. I’ve limited the resource permissions to a pretty vanilla degree. However, whenever someone in my company tries to authorize the app, if they are not an admin then they cannot proceed.Is this expected, or am I doing it wrong?
I am currently using the Front sdk updateDraft function in the updateMode: ‘replace’ when I run it with only the subject defined, all attachments on the draft get deleted. await sdk.updateDraft(draftId as Parameters<FrontSdk['updateDraft']>[0], { updateMode: 'replace', subject: subject });This is the current code I am using.
Hello, I need a way to add custom headers into a rule webhook call, in order to call internal routes that need API keys.The solution we found was to provide the API key directly into the path parameters, but that makes it so the key leak internally in our logs. Also, making the route key-less is not an option for us.
Hi everyone, nice to meet you!I have two questions regarding analytics reports:1 Metrics showing 0:When I request a report with:metric_names = ["num_messages_sent", "num_messages_received"]start_dt = datetime(2025, 8, 10, 0, 0, 0)end_dt = datetime(2026, 3, 1, 0, 0, 0)account_id = [account_id]I get:'metrics': [ {'id': 'num_messages_sent', 'type': 'number', 'value': 0}, {'id': 'num_messages_received', 'type': 'number', 'value': 0}]However, when I manually check the contacts and conversations for this account, there are messages sent in that interval. I don’t understand why the report shows 0. Here is my code if it helps:metric_names = ["num_messages_sent", "num_messages_received"]start_dt = datetime(2025, 8, 10, 0, 0, 0)end_dt = datetime(2026, 3, 1, 0, 0, 0)account_ids=['acc_xxxxx']start_ts = int(start_dt.timestamp())end_ts = int(end_dt.timestamp())body = { "start": int(start_ts), "end": int(end_ts), "timezone": "UTC", "filters": { "account_ids":
I am working on a project that requires I pull data from our in house database and run reports from those and send them automatically to the respective managers that requires the report. We run these reports weekly. I would like to use Parabola to run the emails through Front. Is this something anyone has had experience with and have any thoughts on how this worked or didn’t work for you?
How can I link a message or conversation to another conversation, just like I can do it from the UI using the "Link to original" button? I know how I can link conversations, but it's not the same as when it's done via the UI. I need to do this via the API, and there simply doesn't seem to be any option to do this. When I look through the API docs and I link the conversation, then it is just added on top as an external link, but I wanted to be internally linked within the conversation around the original conversation, just like I do it from the UI. How would I use the API to do this?
Hi Front team 👋We have a plugin which is created using @frontapp/ui-kit, and we’ve run into a limitation regarding dark theme support.At the moment, most (if not all) component colors in the UI Kit appear to be hardcoded. Because of this, there’s no straightforward way to support a dark theme in our plugin without overriding the existing component styles.While overriding styles is technically possible, it doesn’t feel like a clean or sustainable solution, especially considering future updates to the UI Kit.We’d like to ask: Are there any plans to introduce official dark theme support in @frontapp/ui-kit? Is there (or will there be) a theming system using design tokens, CSS variables, or similar approaches? What is the recommended best practice for supporting dark mode in Front plugins today?
Hi everyoneWe’re exploring ways to integrate our cloud contact center solution with Front and wanted to see what others here have done. Specifically, we're hoping to streamline agent workflows by syncing conversations, contact data, and possibly call recordings into Front.Has anyone here integrated Front with platforms like:Genesys Cloud WebEx Contact Center Talkdesk Five9
We are really struggling with this.Our goal is to receive a list of ‘open’ conversations in our personal inbox. This includes direct messages AND a any conversation that we are subscribed to (participant of) both in Shared Inboxes and Teammates Inboxes.However there’s an inherent problem: is:open is not useful whatsoever… Because status: “archived” is global, when a user outside of our personal inbox ‘archive in my inbox’ that status is now status:archived…This means I have to search for status:archived to see basically all my conversations (thousands) and find a way to figure out which ones are actually open in my view… we’ve tried /conversations/{id}/followers to see if i’m attached to that conversation, looking at conversation events… but its just not easy. If we had open graph or something maybe that would help…Does anyone know how to deal with this ‘global’ archiving issue, I should be able to see what my Front UI shows..
We have API integration with FrontApp for many years using our live account. We need to build an application channel for internal use only that will be used to handle specific type of group messages not currently supported by FrontApp.I already setup the developer app and application feature is installed. The app is verified and the webhook is working when I create messages on FrontApp directly.I am trying to sync an external message back into the channel, but I am getting this error“Only partners can access channels. Please see https://dev.frontapp.com/docs/channels-overview for access.”I looked at the documentations and it requires the app to be developed before I can get a partner account, but I can’t develop the app if I can’t sync the messages.Again, this is for internal use only. The reason we are choosing application app instead of custom channels is custom channels can’t "Compose new outbound messages with replies threaded in the same conversation"
Hi allI’m looking to save emails (and attachments) from conversations in Front to my software using its API. I’ve created application requests and can send and receive data with them. I can create a new document in my software using a Front macro but the document is empty, because I don’t know what I should use in Front to save the email and attachments too.Hoping for some pointers!Thanks
We are experiencing issues with long automated messages failing to send.There are carriers that take the long messages and carriers that don’t - we want to just retry the ones that fail. I get that I can circumvent this problem by splitting the long message into multiple small messages and send them separately. But since most of the times the messages are delivered, we don’t want to have to split successful messages because of a few unsuccessful ones.After the message is sent, I am using this endpoint to fetch the message again:"https://api2.frontapp.com/messages/{message_id}”What I want is to see if it errored or not. The issue is that I am getting the field ‘Error Type’ empty even for failed messages.Anyone has any advice here? How can I get from the API the error status of a message?
We are using a front webhook for “all incoming messages” and forward these to our own endpoint. I need to filter out ONLY NEW conversations somehow but it seems quite tricky looking at the webhook payload. We only have a professional account (and wont upgrade to enterprise any time soon). How could I reliably filter out all replies and follow up emails and only keep NEW conversations when processing the webhook event?
Summary Enable creating and managing comment reactions (emoji reactions) via the Front API, similar to how reactions work in the Front UI.Current State The Front API currently supports:Creating comments on conversations Editing existing comments Listing commentsHowever, there's no endpoint to add, remove, or list reactions on comments.Requested FunctionalityPOST /comments/{comment_id}/reactions — Add a reaction to a comment DELETE /comments/{comment_id}/reactions/{reaction_id} — Remove a reaction Include reactions in the comment object when fetching commentsUse Case: AI Agents AI agents that assist support teams need lightweight ways to acknowledge information without adding noise to the conversation thread. Reactions are ideal for this:Acknowledgment signals — An AI agent can react with ✅ to indicate it has processed a comment or completed a task, without cluttering the thread with "Got it" messages Status indicators — Use 👀 to show the agent is reviewing, 🎯 when action is taken, or
Hi,We want to detect order numbers such as PO-123456, PO123456, or PO 123456 in a conversation using an application object. What would the pattern look like? Do I need to create 3 separate application object features?Best Regards
How come we are unable to link anything and everything? I have 2 conversations linked, but I want to link a 3rd conversation with the non-original, but can’t.
Hi,We’ve started receiving 400 Bad Request errors when calling the conversations/search endpoint. A request such as:https://api2.frontapp.com/conversations/search/after:1762920938801 now returns:400 Bad Request {"_error":{"status":400,"title":"Bad request","message":"Unsupported search modifier provided."}} We aren’t using any other modifiers, and there have been no changes on our side. The issue began on 23 July 2025. From what I can see, using after: is still documented and there’s nothing in the changelog that suggests this behaviour should have changed.Do you have any insight into why this might be happening or whether anything has recently changed with this endpoint?
Hi everyone,I'm building an automation using n8n together with the Front API, and I'm running into a major challenge regarding attachment ordering inside a Front draft. I would really appreciate deeper clarification from the community or the Front team, because this is critical for my use case.ContextI'm a service provider and we onboard customers into different training programs. Each onboarding email contains multiple PDF attachments in a fixed order.From these files: 6 documents are always the same and are already included inside a Front Message Template 3 documents are unique per customer (contract, schedule, and one additional document), and these three files are generated dynamically in n8n and added to the draft in the same step after the template content is applied Because of this setup, I rely on a Front template for the 6 standard documents, and n8n is responsible for attaching the remaining 3 customer-specific PDFs.Problem: There is no way to create a draft from a template
I am attempting to build a sidebar plugin in Retool so I can utilise all of my existing modules, components, and queries so I can surface important contextual information for my CS team.We all use Google sign in to login to our Retool apps, and we are having a few problems inside Front’s sidebar due to third party cookies.The native Retool sign in screen does not/cannot pop up the Sign in with Google page so I get the below 403 error when I click “Sign in with Google” I have now tried to create a public Retool app, that just has a single “Sign in with Google” button on it (which is just a Retool button), which calls the following script on click: console.log("Front.openUrlInPopup", Front.openUrlInPopup)Front.openUrlInPopup("https://{mydomain}.retool.com/googlelogin", { width: 600, height: 800,})When I load that into the sidebar, the console.log runs (I toggled on the dev tools in Front) and I can see the Front.openUrlInPopup method showing just fine, but nothing happens/the function
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.