Community topics about Front APIs and SDKs
Recently active
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
If you’re a customer or partner who has been using our APIs, SDKs, Connectors, channels, or any other platform touchpoint to build integrations or improve your workflow automations, we’re looking to partner closely with you to take your existing usage to the next level. Interested? Become one of our design partners:
You can now add query string parameters to Connectors using a handy table. While you can still type query string parameters directly into the URL, the table makes it easier to see the parameter names and values, especially when you have multiple parameters. The URL has also been split into two rows (one for the domain and one for the rest of the endpoint) so that it’s easier to manage longer paths. This update applies to both application requests and application objects. We hope you enjoy it!
You can now configure your app webhooks to use an authenticated server instead of a plain URL. While these requests have always been signed—which lets you tell if some imposter sent the notification instead of Front—they now can be authenticated, too.When you set up application webhooks with a server, customers will supply unique credentials when installing your published app:Allowing your webhook server to identify exactly which customer each event pertains to Meeting enterprise security requirements One thing to note: Webhooks will fail to send if customers skip the Authentication tab during install, so make sure your setup guide tells them to complete it. Check out our webhooks documentation to get started.
Learn how to add search and pagination parameters to your app requests in order to power dynamic dropdowns in macros. These dropdowns allow your teammates to search for and scroll through a relevant list of results in order to select the external record they’re interested in. The walkthrough uses searching for charges in the Stripe API as an example.View the example below:
You can now manage views programmatically via the Core API. Views are custom work queues that filter conversations by inboxes, tags, and assignees—helping users track high-priority conversations and ensure nothing goes unanswered. What you can do:List all views accessible to your token, or filter by teammate, team, or company Get, create, update, and delete views Configure filtering criteria including inbox IDs, tag IDs, and assignee IDs Add views to specific teammates' sidebars to make them visible in their navigationCommon use cases:Provision custom views for new team members during onboarding Standardize views across teams to ensure consistent workflows Dynamically create views based on external data or business logic Pin important views to teammates' sidebars automatically Manage views at scale across your organizationCheck out the full Views API documentation to get started, or learn more about how views work in Front in our Help Center.
You can now permanently delete conversations via the Core API using the new Delete conversation endpoint. Key details:Conversations must have status trashed before they can be permanently deleted This action cannot be undone Requires the conversations:delete scope Check out the full documentation for implementation details.
We're excited to announce that the Core API now supports granular permissions for API tokens and OAuth tokens. You now have fine-grained control over what your tokens can access and modify, helping you follow the principle of least privilege and improve your integration's security. How It WorksWhen you configure a token, you'll specify Features (what functionality the token can use), Namespaces (the scope of resources it can access), and Permissions (what actions it can perform for each resource it has access to). Granular PermissionsYou can now granularly control access for each resource type:Read – Retrieve resource information Write – Create and update resources Delete – Remove resources Send – Create and send messages that start new conversations or reply to active ones (note: importing historical messages only requires Write permission) Best Practices✅ Limit permissions to only what your integration needs to prevent misuse or security issues✅ Check the Core API reference document
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.
Join Front’s community team for three hands-on Connectors workshops in January! Follow along as we automate workflows between Front and your 3rd-party tools. January 15: Salesforce <> Front workflows: Use Connectors to update Salesforce objects directly from your inbox. January 22: HubSpot <> Front workflows: Use Connectors to easily manage customer data in HubSpot. January 29: Jira <> Front workflows: Use Connectors to create Jira tickets from Front with just a few clicks. Register nowCan’t make it? No problem! Join the community group to access self-paced examples and view the workshop videos later. Note: To access Front pre-built Connectors, you must be on the Professional plan or above.
We're excited to announce the launch of our new API analytics dashboard! You can now get a visual overview of your Core API request patterns and rate limiting directly in Front. This dashboard makes it easy to monitor your Core API consumption over time, quickly identify which endpoints are generating the most traffic, and spot where you might be hitting rate limits—all without having to piece together information from logs or error messages. The dashboard features interactive time-series charts showing your total Core API calls (with rate-limited requests clearly highlighted) and an endpoint breakdown table that shows usage by path, including call counts and rate limit hits. You can view data for the last 30 days and drill down into specific time periods. Company admins can access it by navigating to Settings > Developers > API analytics. We hope this gives you better visibility into your integration's performance and helps you optimize your API usage!
We're thrilled to announce a major improvement to how you build macros with Connectors: app request nodes are now available in your flow builder. No more hunting through dynamic variable menus or trying to figure out where to nest your app requests inside action nodes. You can now drop an app request directly into your macro flow by clicking the plus (+) sign and selecting "Send app request"—just like any other node. This makes building Connector-powered workflows far more visual and intuitive.View the docs for step-by-step instructions! Each app request node comes with built-in success and failure paths, so you can immediately see how your workflow branches based on the request outcome. Want to chain multiple requests together? Send a success message to your teammates? Branch based on output values? You can now build these flows exactly how you envision them, with complete flexibility. Plus, your app request outputs automatically become dynamic variables that you can use anywhere dow
You can now configure pagination for application requests! When enabled, the dynamic dropdown in macros loads data page by page as the user scrolls—making it easy for customers to work with larger data sets—no additional macro configuration required. If a dropdown’s app request is paginated (or gets converted to one), the scrolling behavior automatically kicks in for Front teammates. In combination with creating structured, multi-step macros that capture teammate answers, you can now build robust workflows that allow you to execute actions in external systems for the exact item you want to modify. Example use cases:Searching through customer records in a CRM Selecting from a product catalog in an external inventory system Choosing the correct order to refund for a customer For setup details, visit our Help Center.
We've just released an AI prompt file that lets you scaffold Front plugins using any AI coding agent—Claude Code, GitHub Copilot, ChatGPT, Cursor, and more.Simply describe what you want your plugin to do, and the AI generates a working plugin that follows best practices, correctly uses the Front Plugin SDK, and includes built-in debugging tools. What used to take hours of learning our SDK now takes about 10 minutes.Why this matters:Speed - Get from idea to working plugin faster than ever Correctness - The AI handles Front-specific patterns and boilerplate automatically Accessibility - Lower barrier to entry—you don't need to be a Front SDK expert to get started Best practices - Ensures plugins follow established patterns for Front data models and context handling from day one Debugging - Built-in tools show exactly what's being sent to your plugin during developmentWe've built three example plugins using the prompt—a NetSuite manager, subscription manager, and attachment encryptor—to s
The icons for developer apps will now have squared off edges rather than a circular design. This new look aligns with our updated design principles and brings more consistency across the app.You can set the icon in the Settings tab of your developer app:And you’ll see it in Front in places like the list of developer apps and in the rule, macro, and other workflow menus where you select to use a feature from your developer app, such as a channel or app request (Connector).
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?
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.