Create, manage, and publish apps

📘

Only plugin integrations have been migrated to the app experience described in this topic as of December 2022

As of December 2022, you should see the plugin integrations that you have created listed in the apps list of the Developers page. Core API and Channel integrations will be migrated in early 2023.

The Front Platform allows you to create and manage apps directly in Front. These apps can be private to one customer or be made available to all customers through the App Store. Whether you are building backend integrations with the Core API, creating a UI element with a plugin, or adding a new channel to Front, you will deploy your integration as an app in Front.

960

📘

You must be an admin to create or manage apps.

Quick links within this topic

Create an app

To create an app:

  1. Go to Settings > Developers to open the Developers page.
  2. Click Create app.
  3. Provide an App name and Short description.
  4. Click Save.
  5. After creating your app, Edit the default app icon.

👍

Choose public-facing values

The app name, short description, and icon display to end users of your app, so choose appropriate public-facing values.

651

Add features to your app

📘

Features are optional

Your application does not need to include features. Use these only if you need the functionality that a particular feature provides.

After configuring a basic app container, decide which features your app needs. The following features are available:

  • Channel type—Allows you to connect a messaging source to your app (SMS providers, social media channels, live chat widgets, etc.) so users can send and receive messages within a Front inbox. Utilizes Channels.
  • Plugin—Embeds a custom UI into Front that allows users to obtain additional context on a message or perform actions that leverage or propagate to a third-party system. Utilizes the Plugin SDK.

Create a channel type

❗️

Creating channel type features for an app is not currently available.

Refer to the Channels documentation to learn how to manage channel types.

  1. Click an app on the Developers page to view its details.
  2. Click the Features tab.
  3. Click Create channel type.
  4. Configure the channel settings as explained in the following table.
Setting nameDescription
Short descriptionA public-facing summary of the channel type's intended use. This description shows up to Front users when they select your channel type during inbox configuration.
Webhook URLThe URL where your server will run and listen for updates from Front. The server origin is configured on the Servers page or through the origin dropdown. Note that channels only support Bearer or OAuth authentication.

For purposes of development, you can set up a local server using a tool like ngrok. When you are ready to deploy your channel to production, you can replace the development URL with your production URL.
Contact typeSelect the type of message your channel type uses.
- Phone—For channel types that will implement phone or SMS messages.
- Email—For channel types that will implement email messages.
- Custom—For all other message types.
Supported attachmentsThe attachments that your channel will support sending or receiving. The list includes text, audio, video, and images. If you do not enable an attachment type, users may encounter errors when attempting to include those attachments in the Front composer.
Allow ReplyAllows users to reply to messages received through the channel type (enabled by default).
Allow ComposeAllows users to compose new outbound messages through the channel type (enabled by default).
Composer typeWhether the channel type should render a Basic or Advanced message composer. Learn more about composer types.
  1. Click Create.

After you create a channel type, your app shows an Active pill on the Channel type card within the Features tab. You can edit the plugin by clicking Edit channel type.

421

Create a plugin

  1. Click an app on the Developers page to view its details.
  2. Click the Features tab.
  3. Click Create plugin.
  4. Configure the plugin settings as explained in the following table.
Setting nameDescription
Side panel URLThe URL where you will host your plugin application.

While you are developing your plugin, you can set the URL to the localhost port where your development app will run (for example, http://localhost:3000). When your plugin is complete and hosted on the web, you can update the endpoint value to a production https value.
ComponentsThe components your plugin needs to access.
- Camera—Allows access to the user's camera.
- Clipboard—Allows access to the user's clipboard.
- Fullscreen—Allows the plugin to use Element.requestFullscreen() on the object it renders in.
- Microphone—Allows access to the user's microphone.
- Display Capture—Allows access to capture the user's screen.
SDK version(Read only) Defaults to the latest SDK version.
Auth secret(Read only) A security mechanism that allows you to verify that the plugin traffic is coming from Front. Read about how to implement the auth secret in our Plugin Security topic.
  1. Click Create.

After you create a plugin, your app shows an Active pill on the Plugin card within the Features tab. You can edit the plugin by clicking Edit plugin.

429

Obtain OAuth credentials for your app

Every app you create on the Front Platform supports OAuth. Implementing OAuth is optional but recommended for apps that need to fetch or update data from Front on behalf of a Front user. You can use OAuth to authorize requests to the Core API or to authorize users for your channel type. By implementing an OAuth flow, an authorized app receives an access token to make requests to Front for authorized data.

Complete the following steps to view your OAuth client ID and secret and to configure redirect URLs:

  1. Click an app on the Developers page to view its details.
  2. Click the OAuth tab.
  3. Note the Client ID and Client secret.
  4. Click Add Redirect URL to authorize a URL for the server to redirect to after a successful authorization. You can add multiple redirect URLs, but Front recommends you delete your development URLs once your app is live.

To learn more about how authentication works on the Front Platform, refer to the following links:

Configure servers for your app

❗️

Creating servers for an app is not currently available.

Stay tuned for updates in early 2023!

📘

Servers are currently only available for channel types

At this time, only apps with channel types can authorize users through a server. However, Front plans to expand this functionality in the near future.

Servers allow you to define how users authorize with your app. By configuring a server, you can have Front handle user authentication on your behalf. Your server can then authorize the users.

To create a server for authorization purposes:

  1. Click an app on the Developers page to view its details.
  2. Click the Servers tab.
  3. Click Create server.
  4. Configure the server settings as shown in the following table.
Setting nameDescription
OriginThe root domain for the authorization server.
Authentication strategySpecify whether the server uses Basic Authentication, Bearer Authentication, or OAuth.
  1. Click Create.

After you configure a server, you can select to use it for authorization when configuring features, such as channel types, that support authorizing users through a configured server origin.

255

Publish your app

Publish a private app

By default, apps are private to the Front instance they are created in. Once you create an app, you do not need to take additional steps for it to be available to Front users in that instance, aside from notifying them that the app is complete and ready to use. Private apps display a Status of "Private" in the app list and show a Private pill on the Basic information tab.

157

Publish an app to all Front customers on the App Store

If you want to make an app available for all Front customers to use, you must publish your app. The app will then display in the App Store within Front (available under Settings > Company > App Store) and on our integration website.

To publish your app, notify our team as described in the Partnering with Front topic.