How to create application objects

Edited

Overview

Application objects allow you to transform text or URLs found in comments or messages into structured Orders, Shipments, Itineraries, Tasks etc. that are easy to access right from a conversation in Front.

Application objects are part of Front’s “Connectors” framework (composed of both application objects and application requests) - allowing you to configure how your third-party data is used in Front. To learn more about Connectors, see our developer documentation.

Take a Front Academy course here to learn more about using application objects.

Have questions? Ask them in our AMA in Front Community!


How it works

If a customer writes in to your team with a question that references a particular order, shipment, itinerary, task etc. a application object can automatically extract that text or URL and other metadata, and highlight it in your conversation. Application objects can be viewed in the following areas:

Conversation header

Application objects are attached to the header of the conversation for easy access.

When attached to the conversation header, it’s easy to open the object in your external CRM/TMS/management system, or view details directly in Front.

Messages

Application objects will be outlined in gray. Click the application object to view the preview card.

Comments

Application object preview cards will automatically display when referenced in comments.


Part 1: Initial setup

You must be a Front company admin to create application objects.

Step 0 (create an app)

You can access your Developer settings by clicking the gear icon in the top right of Front, then selecting the Developers tab from the left sidebar.

Once in Developers settings, click the Create app button. You’ll be asked to provide a name for your app and a short description. If you'd like to set an icon to be used for your application objects, simply add an icon to the app you initially created by going to the Basic information tab of the app.

Once you’ve created your app, click the Features tab and then click See all connectors under the “Connectors” card. You’ll be navigated to a page that lists all the application objects for this app. Click Configure application object to create a new one.

Step 1

First, you will be asked to provide a name and a short description for your object.

Step 2

Next, you will have to configure the pattern to identify your object. You can choose between matching against a text pattern or a URL pattern.

  • If you want to match against text like “#1234” or “AB-1234”, select Transform text into an application object.

  • If you want to match against URLs like “https://example.com/orders/123”, select Transform URLs into application objects.

To determine the proper format, consider the types of patterns you expect to see, and which parts of those patterns are static or dynamic (i.e. can change across instances of those patterns).

For URL patterns, we require it to contain the domain (e.g.: example.com) as well as the protocol (e.g: https://).

A few examples:

Example patterns

Text pattern format

ORD-12, ORD-201, ORD-9023

ORD-[Digits]

#123, #493, #4930

#[Digits]

AB-123, FJ-392, K-594

[Letters]-[Digits]

https://example.com/orders/AB-123

https://example.com/orders/[Letters]-[Digits]

Make sure your pattern format is defined as strictly as possible to prevent unwanted matches. Examples:

  • If you know that a portion of your text pattern will always be digits, use the Digits variable instead of the Letters or digits variable.

  • If you know that a portion of your text pattern will always have a defined length (for example, exactly three digits), make sure you define the variable as such. You can click on a variable to set its length.

Step 3 (optional)

If you want to populate your object using third-party data you can configure the request to fetch it. You can read more about it in the article Create application objects with third-party data.

Otherwise, click Next.

Step 4

In this step, you can choose how generated application objects will be previewed in the inbox view. By default, each object includes a target URL, title, and description (optional). You can expand the application object preview with important information by clicking on Add output to add custom fields.

  • Any variables you defined when setting up your text pattern or URL pattern will be available to populate the value of the object’s properties.

  • Additionally, you can populate these fields with third-party data by creating dynamic variables (Scale plan or above). See this article to learn more. If you’d like access, please contact your account manager.

To determine the proper target URL, you should open an example of content you are looking to extract using an application object, and determine how you can generate that URL using the text pattern from Step 2.

For example, let’s imagine you want to extract order IDs that look like “ORD-123”, and they live in your CRM at a URL like this: https://example.com/orders/ORD-123

In this case, in Step 2 you would have defined a text pattern like this: “ORD-[DIGITS]”. To generate the proper URL, you would use the “DIGITS1” variable generated by Step 2 in the Target URL field. This will ensure that whatever number is extracted for the particular order is also used for the URL for that application object.

The Target URL field will be used when a user selects the Open option in the dropdown of a particular application object, or when clicking on an application object preview in a comment.

In the example application object below:

  • Title: ORD-12345

  • Description: Details for ORD-12345

  • Custom fields:

    • Customer: Jamie Saturn

    • Company: Acme

    • Priority: High

Step 5

Finally, test your configuration to confirm that the preview works as you expect it to. If everything looks good, click Save.


Part 2: Create application object rule

Once an application object has been created for an application, a rule is required to define when and where this application’s objects will be generated. An application object can be generated from references found in messages, comments, or a dynamic variable.

Step 1

To create an application object rule, follow How to create a rule from scratch.

Step 2

Enter your preferred rule configuration for creating your application’s objects. Similar to other rules, you can define the triggers (when), conditions (if) and actions (then) of your rule. See this article to learn more.

A common configuration is to trigger the rule whenever inbound messages are received or a comment is added to a conversation.

If the conversation is in the inboxes that the application object should apply to, you may specify the creation of one or multiple application objects to apply. Use the dropdown for Add application objects rule action to define this behavior.

  • Which application object(s) to add (defaults to objects)

  • Where to look for references matching the pattern defined by the application object.

    • Select Activity if you want to find references in the latest message's subject or body, or the latest comment's body.

    • Select Reference if you want to use a specific value (e.g. The value of a dynamic variable).

Step 3

Click Create rule to complete the rule configuration. A new rule will populate in the relevant rule list.

An application object rule can be adjusted or deactivated at any time. However, a rule is required for an application’s application objects to appear in conversations.


Copying and pasting application objects

Many messages will include multiple IDs of interest that you may need to copy and paste one by one. You can easily view and multi-select application objects within a message to copy and paste much more efficiently.

Hover over a application object to quickly copy it, or select multiple application objects using Cmd+click on Mac or Ctrl+click on Windows to copy them.


Refreshing application objects

When an application object is first attached to a conversation, the data displayed is fresh and current. However, as time goes by, the data in the application object becomes stale. A timestamp on the application objects captures the last time the data was updated. For example, the following image shows an application object that was last refreshed one day ago.

While Front does not currently provide a method to automatically refresh application object data in a conversation, you can use one of the following methods to force an update.

Refresh manually using comments or messages

The reference is the pattern that matched and created the application object. It might be something like ORDER-74565 or MC-K-787-001. In our example above, the application object reference is https://example.com/123.

If a Front teammate adds a new comment or message that mentions the reference again, the application objects that pertain to the reference will refresh (across all conversations they are attached to). Therefore, in our example above, a Front teammate can simply type https://example.com/123 into a comment to refresh the existing application object data. The application object timestamp will update to “now” and the data displayed will be the most current retrieved from the external system.

Refresh programmatically using rules

If a rule contains a dynamic variable that accesses the application objects in a conversation, then all the application objects in the conversation are refreshed whenever the rule triggers.

The key is to create a dynamic variable in your rule that accesses the Dynamic objects (application objects) of the conversation, as shown in the following image. Extract a property from the first dynamic object such as the object ID or name so that the dynamic variable is usable in your rule.

Note: Rules still refer to application objects as “dynamic objects”, but the UI will be updated soon.

After you create the dynamic variable, make sure the rule uses the dynamic variable. If it does, the rule will refresh application objects any time it is triggered. For example, the following rule adds a comment with the application object ID (from the dynamic variable) whenever a new inbound message is received or a conversation is reopened. When the rule triggers, the application objects refresh as soon as the comment accesses the dynamic variable extracting the ID. This ensures that Front teammates have access to the latest application object data whenever a new message is received or a conversation is reopened. You can customize the rule to suit your needs.

Refresh programmatically using the API

You can use the Create link API endpoint to refresh application objects. Refer to the API reference documentation for details.

This method allows you to create a web application or service that listens for changes to the data in the external system and then immediately pushes a change to the affected application objects (based on their reference) so that you don’t have to rely on a rule triggering or ask teammates to manually type comments to refresh application objects. Consult with your technical or developer contacts for help implementing application object refreshes through the API.


FAQ

Do application objects operate on historical comments or messages?

No, they only operate on new comments or new messages created after the application object rule is configured.

Can application objects extract content from message subjects as well as message bodies?

Yes. By default, the Identify text pattern in messages and comments option is selected during the setup process. This allows matching text patterns or URL patterns in subjects or bodies of messages to be extracted.

What happens if I delete an application object? Will objects previously created by it also get deleted?

If you delete an application object, any objects created by it in the past will not be automatically deleted, but no new objects will be extracted or previewed.

How many custom fields can I add to an application object?

You can add up to 50 custom fields per application object.

What if I’m currently using dynamic objects?

For current customers using dynamic objects, you’ll be migrated to Connectors in the next few weeks—no action is needed on your end.


Pricing

Application objects are available on the latest Growth plan or above. See additional details about pricing of certain application object features below:

Feature

Growth plan

Scale plan

Premier plan

Transform text patterns or URL patterns into application objects

Create application objects with third-party data using application requests*

*Customers on the Scale plan or above can further enhance their application objects. For example, an order found in a message could be enriched with the status of that order pulled from a CRM or TMS, all without writing any code. See this article to learn more.