Community topics about Front APIs and SDKs
Recently active
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?
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
I am setting up an integration and using the teammate groups API.I can successfully create a teammate group and fetch it by id: POST /teammate_groups returns 201 with an id like cir_xxx GET /teammate_groups/cir_xxx returns the full group object But when I call:GET https://api2.frontapp.com/teammate_groups Authorization: Bearer <token> Accept: application/json I always get:{ "_links": { "self": "https://api2.frontapp.com/teammate_groups" }, "_results": [] } Same behavior if I use the company host https://company.api.frontapp.com. The same admin token is used for create, get by id, and list, and other endpoints like GET /teams work fine. Am I missing something about how GET /teammate_groups works, or is this a bug with the listing endpoint? Any help would be appreciated.
Check out our new video walkthrough for how to use Connectors to process Stripe refunds directly from Front! Make sure to subscribe to the Connectors space for more examples!
I have a tool that POST a draft, with a body formatted in HTML like:“<p>Based on the information provided, we are pleased to offer you a quote of:</p><ul><li>Transport: EUR <strong>200</strong> (Excl. VAT)</li><li>Insurance (optional, on declared value) : EUR <strong>20</strong> (Excl. VAT)</li></ul>”When I visualize the draft created in Front (app or web browser), I see a blank line before the list:When I inspect the object, I see a <br></br> balise, which was not in the original HTML.This disappears when I’m viewing the draft as another person (viewer mode).And so when I send it, the blank line remains.. This is quite problematic as it gives something weird visually.
Hello Front Community,We have multiple conference rooms in our office, but currently, we don’t have any UI that shows whether a room is occupied or free.When creating a calendar invite in Front, we can add a meeting room. I’m planning to build a simple app that displays all meetings for a particular meeting room for the week.I was wondering if there is an API that allows me to retrieve the list of all meetings for a specific meeting room.Any guidance or examples would be greatly appreciated!
We Are trying to implement a Plugin using the Google Sign Button. The problem is however that the sign does not work because Google is trying to open a new window. That of course doesn't work in the plug-in within the Front app. Hence, my question is if anyone else has built such an integration and how did they manage to integrate Google sign in within the Front app plugin?
Hey folks, I’m build a front plugin with Auth from Clerk, and running into a bunch of issues. The login screen successfully opens + launches a google oAuth login, but then fails due to clerk issues.I’m assuming it has something to do with all network requests causing a 401 when sent from the sidebar UI. Running locally/on prod we’re able to login successfully. Would love a running example in the docs for Clerk apps.
Front on the web does not have a built-in attachment viewer (it opens in a new tab), which I desperately needed for my attachment heavy workflow, so I built a Chrome extension that fills the gap - github.com/i3devco/front-attachment-viewerWhat it does:Enhanced PDF viewing with text selection, search, and navigation Zoom controls for PDFs and images Keyboard navigation and swipe gestures One-click downloads preserving original filenames UI designed to match Front, with dark mode support Supports PDFs and images.Everything runs locally in your browser. No data is sent to external servers.Obviously this is unofficial and not affiliated with Front. Let me know any feedback!
We have recently created some integrations with Front for our company. One of the things we would like to be able to do is see a report that gives us the number of API requests that we have made over a given time period with the option to break it down by API token. This would give us the ability to quickly track down changes in usage over a period of time if we were to start running into rate limiting.Is this something that exists?
We are thrilled to feature recent community contributions to our sample code! Read on to learn what sample apps and code your peers have recently shared with the community. MCP serverMany thanks to @zqush for going above and beyond to provide an example of a Model Context Protocol (MCP) server for Front! An MCP server is a standardized way to connect AI models to external data sources and tools, enabling them to access real-time information and perform tasks securely. PHP code snippetsThank you @jross for contributing PHP versions of common Front code snippets!PagerDuty Connectors exampleThank you @jason for providing an example of how to combine Front Connectors and PagerDuty to send critical SLA alerts!Connectors and AI Assist for IT SupportThank you @gregkn for demonstrating how Connectors and AI Assist are used to power Front’s own internal IT Support service! Contributions like these are invaluable for making every customer’s use of Front more powerful. We deeply appreciate t
Thanks @Javier - Developer Relations for putting together the Build a Plugin prompt - that probably saved me half a day of work here.Using that as a base, I built a plugin allowing users to start Cursor Background Agents, right from a Front conversationSee code at github.com/dugjason/front-cursor-pluginYou can easily self-host anywhere you can deploy a JS app (Vercel and Netlify will work in a couple of clicks).How it worksEnter your Cursor API key - it’s encrypted and set in a cookie on your device, so no data is stored on a remote server (no database required)When you start a Background Agent, you can prompt it however you like from the plugin. The full conversation (messages + comments) are pulled into context for the Cursor Agent, so the LLM has a better picture of what you’re trying to address. It enabled fast prompting like “Fix the issue the customer is reporting”I’d love to know how this plugin works for you!
Hi,after calling `updateDraft` from our composer plugin, the composer does not work properly any more. This happens even if I keep the current draft HTML without modifying it at all. Breakage we’ve seen:Cut/paste does not work any more Templates do not insert any more Templates insert at the wrong location Errors in JavaScript consoleWould you be able to look into it?BestRichard
Hi Front team,We’re building a sidebar plugin that loads our plugin page https://samplesite.com/front-plugin inside the Front UI. Front adds ?auth_secret=… to our iframe URL, and we’re trying to bootstrap the SDK per the docs: <script src="https://app.frontapp.com/scripts/sdk.js?auth_secret=…"></script> Our page (HTTPS, same origin as the SDK allow‑list) loads one script at a time and retries the fallback URLs: - https://app.frontapp.com/scripts/sdk.js - https://app.frontapp.com/plugins/sdk.js - https://app.frontapp.com/static/frontend-plugin-sdk.js For each request we append the auth_secret from the iframe URL. We also guard against multiple insertions, remove existing script tags, and even tried adding type="module". What we’re seeing In Firefox and in Chrome the script load always fails: - The browser console shows: Access to script at 'https://app.frontapp.com/scripts/sdk.js?auth_secret=…' from origin 'https://www.samplesite.com' has been blocked by CORS p
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
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.