Community topics about Front APIs and SDKs
Recently active
Is there a way to preview a message attachment from the Sidebar plugin, for example using the plugin SDK downloadAttachment()?I am currently only getting a File object returned from Front.downloadAttachment('msg_xxx', 'fil_xxx') with the following properties:lastModified: 1740416909060lastModifiedDate: Mon Feb 24 2025 18:08:29 GMT+0100 (Central European Standard Time) {}name: "fd880b5930634b94bfa961a2b3815db2.jpg"size: 293622type: "image/jpeg"webkitRelativePath: ""
A few questions regarding teammates:What would be a scenario where multiple teammates are returned by listTeammates()? Is the current front user always the first user in the array? Is there a better way of identifying the current front user from the plugin, ie. where only the current user is returned?
Hello!I wonder why “Get message seen status” https://dev.frontapp.com/reference/get-message-seen-status API works only for outbound messages? Wasn't the initial idea to have a info WHEN a teammate has seen INBOUND message?{ "status": 400, "title": "Bad request", "message": "You cannot see seen status for an inbound message."}Why am I asking this? We’re implementing the Frontapp plugin which gonna track the time when a teammate seen a inbound message from a customer (to measure activity of diff(seen,archived)). There’re not those fields in the webhook triggers, so we can’t receive the time of “seen” activities. The plugin context API doesn’t have this data too.Also I see the internal CONVERSATION by ID request that returns the “seen” data for it. I think it can be useful for our task, but this data is not in the conversation PUBLIC API. Could you cover 2 questions please:1. How to get “seen” information per teammate for a MESSAGE?2. If for some reason (1) is not possible, how c
We have been integrating Front Chat into our app, and the experience has been great so far. However, we are facing a challenge with supporting multiple logins on the same machine.Expected Behavior:• When a user logs in, they should see the continuation of their own previous chat (if available).• If a different user logs in, they should only see their own chat history (or start a new conversation if no prior chat exists).Current Issue:Right now, when a new user logs in on the same machine, they see the chat history of the first logged-in user, which we want to avoid.We attempted using the shutdown() method from the Front Chat SDK to clear the chat on logout, but this also removes the previous chat history, preventing the original user from retrieving their past conversations when they log back in.can someone help me out on this matter?
Hey all,I am trying to build a connection to Front to interact with the conversations, so we can assign the assignees to the conversations through the API. Using the example of the API documentation keeps giving me errors and I can’t figure out what is going wrong. I’m using the Update conversation assignee with the NodeJS example, but I keep getting an error:{"_error":{"status":400,"title":"Bad request","message":"Body did not satisfy requirements","details":["body.assignee_id: missing"]}}I’ve tried it with JSON and FormData, but the error stays the same, my latest example code is the following const frontUpdateAssignee = async ({ conversation, assignee, token }) => { const options = { method: "PUT", headers: { accept: "multipart/form-data", authorization: `Bearer ${token}`, }, body: JSON.stringify({ assignee_id: "tea_hjdlj" }), }; const updateAssignee = await fetch( `https://api2.frontapp.com/conversations/${conversation}/assignee`, options ) .t
If your team has SLA agreements you can’t afford to miss, or you already page on-call teammates for urgent issues, you might want to consider automating this using Front Rules and Application Requests.This post will guide you through how to add a Front Application Request to trigger a PagerDuty incident, and how to enable that from a Rule in Front. 1. Create a PagerDuty ServiceThe PagerDuty Service is required as the “entry point” for creating the incident. When creating the PagerDuty Service, select the Events API V2 integration;Creating a PagerDuty Service2. Create your Front Application RequestHead into Front > Settings > Developers, and create a new App. Give it a useful name like “PagerDuty”. Click into the Servers tab in your new App, and create a server. The PagerDuty events API is hosted at https://events.pagerduty.com, so we can add that as the Server Origin value. No auth is needed here - this is specified elsewhere.Click Save. 3. Add Application RequestClick into the
Using fetchPath() I can retrieve the current conversation URL, but the function returns a Promise Object.How do I get the “PromiseResult” value from the object, ie. how do I get the path into a string?Front.contextUpdates.subscribe(context => { let path = context.fetchPath();});
Does anyone have any insight or tips to share regarding using the Front API in PowerApps via PowerAutomate? I've been considering exploring this possibility.
We are happy to announce that you can now access knowledge base API endpoints through the Core API. These endpoints allow you to read and update your internal and external Front knowledge bases. With the API, you now have the flexibility to process your knowledge base content for various purposes, including advanced display on different websites and additional means of importing content. Read the docs on our Developer Portal to start using the knowledge base API endpoints.
We are thrilled to announce a new enhancement to our Core API knowledge base resources: Endpoints now return a slug for article and category pages! The slug is a user-friendly, readable string that can be used to construct URLs to your knowledge base articles and categories. This addition makes it easier than ever to integrate and surface your knowledge base content within the search results or display components of systems external to Front's knowledge base, such as a community hub or other resource center. The following endpoints return the URL slug in their response:List articles in a knowledge base Get a knowledge base article List categories in a knowledge base Get a knowledge base category To construct the full URL, use the following pattern:<protocol>://<domain>/<locale>/<slug> For example, if an article slug returns as /articles/57 ...the full article URL in the EN locale would be:https://yourDomain.com/en/articles/57 Happy coding!
Hi,We are currently integrating the chat SDK into our apps, and while reviewing the documentation, we came across the Identify Users page.We have a few questions regarding the use of userId for identification, as we do not have user phone numbers in all cases and were hoping to use userId instead of email.Specifically, we would like clarification on the following: What is the userId? Is it an ID that we define within our system, or is it the contact ID generated by Front? Behavior when using a custom userId: If the userId is defined by us, will Front create a new contact when it encounters the userId for the first time, regardless of the email or phone provided in the contact object? If so, how can we prevent the creation of duplicate contacts? We already have a large number of contacts in Front and want to avoid duplication. Behavior when userId is defined by Front: If the userId is generated by Front, will it simply add the email and phone provided in the contact object to the e
I have integrated the Chat Widget code in my iOS app. It was working very good.But today I noticed suddenly getting error in RED “Not delivered - connection issues” I have noticed the first message is delivered successfully but after that always getting the mentioned error.When I tried to run the code in my browser it shows AxiosError. What could be the reason?Here is my latest code<html> <body> <script src="https://chat.frontapp.com/v1/chat.bundle.js"></script> <script> function initChat(name, userId, userHash) { window.FrontChat('init', { chatId: 'ce4c58cd0f7cbcd3ed3eaf3b0b0XXXX', useDefaultLauncher: true, shouldShowWindowOnLaunch: false, shouldMobileReloadOnClose: true, name: name, userHash: userHash, userId: userId, onInitCompleted: () => {
Hello, I’m looking to build a plugin for Front. The concern I have is about security. The recommended pattern to use token verification is embed the “secret” in the search param rather than a header.Is there a way to embed the token in the header of the request instead so that it’s not obvious from the url?https://dev.frontapp.com/docs/security#token-verification
I put together a simple TypeScript template app to reliably handle incoming Application Webhook events. It can be deployed to Railway in a couple of clicks.Where can I try it?You can install the template here → Front.com Application Webhook ReceiverHow does it work?At a high level, there’s an exposed API endpoint which you register with Front as the destination for for your webhook events.On receipt, various security and validity checks are performed, the event is added to a background processing queue, and the app quickly responds to Front, acknowledging successful receipt. You then have a secondary process monitoring the queue, which is where you add your logic to save the events to your own data store, or performing your custom business logic to handle them.What tech is used?This is a template which can be deployed on Railway in a couple of clicks. The API router and middleware is powered by Hono - a fast, lightweight web framework.The background job queue uses BullMQ, built on Redi
I’ll be working on NetSuite > Front.Just starting up the post, here!
You can now download attachments via the following resource-specific endpoints:Download attachment for a comment Download attachment for a message template Download attachment for a messageThe ability to download message template attachments is a new benefit. The other benefit of these endpoints is that Front validates that the requester has access to the resource in question versus only validating the attachment access credentials. Fetch attachments via their download URLFront recommends you fetch attachments via their download URL (which includes resource-specific routing) versus providing only the ID to the generic Download attachment endpoint.
We have developed a custom app for Front to display insights, and we would like to store the app's configuration directly within the app settings for ease of access and management. Could you please guide us on the following points:Is it possible to store custom configuration data within the app settings in Front? If yes, what is the recommended approach or API to achieve this? Are there any limitations or best practices we should consider while implementing this functionality?Your assistance would be greatly appreciated, as it will help us optimize our app and ensure a seamless user experience.Looking forward to your guidance.
You can now access entry point data in the Plugin SDK to learn how a Front user opened your plugin. A new property called entryPoint is now available in the context object. Read the full details on our Developer Portal This property allows you to handle different scenarios depending on where the plugin was opened. The current plugin entry points are:SIDEBAR—User opened a plugin in the Front sidebar. COMPOSER_TOOLBAR—User opened a plugin in the composer toolbar while composing a message. CONTACT_HANDLE—User opened a plugin from a Front contact’s phone handle. More information on plugins that open from this entry point in order to make or handle calls will be coming soon!
I understand that Teammate Groups is a relatively new feature, which might explain why it’s not available in the API yet, but I was wondering when/if we might gain access to those groups of Front users that we define and use for managing Inbox access, etc. (found in the app under Settings > Company > Teammate groups).So far, references to “teammate groups” in the API documentation seem to reference contact groups owned by a team member, which is not what I’m looking for.Perhaps this question is also related to Front’s SCIM functionality–is there any documentation related to that functionality?
Our Front workflow involves generating emails and scheduling their sends on a daily basis. Our current flow is:Generate the email text and attachments programmatically. The email content includes a blurb about the time the email should be scheduled (roughly based on the local time of the recipient) Send a POST to `/drafts` with the email content and attachments On success, open the link to the draft Manually schedule the send according the the email content’s scheduled send blurb, and delete the blurb in the email.The only manual part of this flow is that we need to manually schedule the send (and delete the blurb saying the send time, but that’s a byproduct), which is a hassle. I haven’t been able to find a way to programmatically schedule sending via the API but that would allow us to do this whole flow programmatically. It doesn’t look like there’s anything in the Messages or Drafts APIs. Does this functionality exist? If not, I’m curious why and if it might ever be on the roadmap.
Is it possible to separate comments, whether from an original comments or from two merged conversations?
I face a very weird situation when trying to convert the message.created_at to the timestamp. Firstly, my understanding is that the date type for the created_at is float. Is that correct? So the number is the seconds passed since epic, and fraction is the millisconds. Did I understand it correctly? Then I used the following code to turn it into Java Date object.new java.util.Date(TimeUnit.SECONDS.toMillis((long)last_message.created_at.floatValue()))Then I used the following code to transform the Date into stringnew SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS"); There are two things weird:(1) I have two messages, sent in absolutely different time, 20 - 30 seconds apart. But somehow the output of timestamp is exactly the same.(2) For afternoon 1pm, instead showing 13:xx:xx, it shows 01:xx:xx.
The Plugin SDK now offers the delegateNewWindowsToFront utility function. This function allows you to capture link events that open in a new window and handle them through Front. This function replaces the deprecated delegateAnchorClicksToFront function.
You can now use token instrospection to specify an application channel’s name and address.Token introspection is an additional step in the OAuth2 flow where the client sends a request to the external server to retrieve information about the provided access token. This request allows Front to obtain details of the channel from the external service. Read more on our Developer Portal!
We are facing a problem whenever the client disable the app fro app store from as shown in attachment. And then when reenable that app and then try to obtain oauth (access token) via api using existing refresh token within the period of 6 months i.e still refresh token is valid, api provide response {"error":"invalid_grant","error_description":"Invalid refresh token"}
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.