How to create dynamic objects
Edited

Overview

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

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


How it works

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

Conversation header

Dynamic 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

Dynamic objects will be outlined in gray. Click the dynamic object to view the preview card.

Comments

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


Part 1: Initial setup

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

Step 1

Click the gear icon in the top right of Front and then select the Developers tab from the left sidebar.

Step 2

Once in the Developers page, click the Create app button. You’ll be asked to provide a name for your app and a short description.

Step 3

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

Step 4

Once in the configuration flow for a dynamic object, choose between matching against strings or URLs.

Depending on your choice, follow the appropriate instructions below. Note that you can create multiple dynamic objects for a single app.

Option 1: String targeting

Follow these steps if you selected Turn a string into a dynamic object.

Step 1

First, define the format for the target strings the dynamic object should match against. This should be a combination of static characters and variables without any spaces. e.g. Use Invoice#[Digits] instead of Invoice #[Digits].

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

A few examples:

Example strings

Target string format

ORD-12, ORD-201, ORD-9023

ORD-[Digits]

#123, #493, #4930

#[Digits]

AB-123, FJ-392, K-594

[Letters]-[Digits]

Make sure your target string format is defined as strictly as possible to prevent unwanted matches. For example, if you know that a portion of your string will always be digits, use the Digits variable instead of the Letters or digits variable. Similarly, if you know that a portion of your string will always have a defined length (for example, exactly three digits), make sure you define the variable as such. You can click on a particular variable to set its length:

Step 2

Once you’ve defined your target string, you need to define the target URL Front should generate for those strings. The target URL should be generated using at least one of the variables you defined in Step 1. To determine the proper target URL, you should open an example of content you are looking to extract using a dynamic object, and determine how you can generate that URL using the target string from Step 1.

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://examplecrm.com/orders/ORD-123

In this case, in Step 1 you would have defined a target string like this: “ORD-[DIGITS]”. To generate the proper URL, you would use the “DIGITS1” variable generated by Step 1 in Step 2. This will ensure that whatever number is extracted for the particular order found in a message or comment is also used for the URL for that dynamic object.

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

Now that you’ve configured the target string and URL, continue to Part 2: Configuring dynamic object previews.

Option 2: URL targeting

Follow these steps if you selected Turn a URL into a dynamic object.

Step 1

Find examples of the URLs you’d like to extract in comments or messages. These URLs most likely have a format that includes some static portion and a dynamic portion depending on the particular order/shipment/itinerary etc. that is being referenced.

For the purpose of this example, let’s imagine we’re dealing with URLs like https://examplecrm.com/orders/AB-123, where particular orders might have IDs like AB-123, BC-49, or ZA-499.

Step 2

Type the static portion of your URL into the Target URL field, filling in any dynamic portions with variables using the “+” button. For our example, we would create a Target URL like this:

The “Letters (Exactly 2)” variable will match “AB”, “BC”, “ZA” etc, and the “Digits” variable will match “123”, “49”, “499” etc. Note that you can click on a variable to set a specific length — in this case we’ve set the letters variable to a length of 2 because we know that our order format always starts with two letters. Always define your target URL with as strict rules as possible to prevent unwanted matches.

Once you’ve configured the target URL, continue to Part 2: Configuring dynamic object previews.


Part 2: Configuring dynamic object previews

Step 1

Once you’ve defined your pattern and URL, you can choose how generated dynamic objects will be previewed in the UI. By default, each preview includes a link, title, and description.

Features available only on the Scale plan or above:

  • Ability to modify the Description and Owner properties. 

  • Ability to expand the preview to include important information pulled directly from the third-party application, so you don't have to navigate out of Front. See this article to learn more. If you’d like access, please contact your account manager.

Any variables you defined when setting up your string or URL targeting will be available to use in the Title, Description, and Owner fields.

In the example dynamic object below:

  • Title: ID458080

  • Owner: Sophia Carpenter

  • Description: “Customer: Jamie Saturn, Company: Acme, Priority: Hig…”

Step 2

If you’d like to extract dynamic objects from messages as well as comments, make sure you check the Extract dynamic objects from messages option.

Step 3

Use the test sandbox to confirm that the preview works as you expect it to. If everything looks good, click Save. The dynamic object will begin to immediately operate on any new comments or messages in your Front instance.

Step 4

If you'd like to set an icon to be used for your dynamic objects, simply add an icon to the app you initially created by going to the Basic information tab of the app.


Copying and pasting dynamic 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 dynamic objects within a message to copy and paste much more efficiently.

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


FAQ

What conversations or comments do dynamic objects apply to?

Dynamic objects automatically operate against all conversations and comments, including in shared and individual inboxes.

Do dynamic objects operate on historical comments or messages?

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

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

Yes, if you enable the Extract dynamic objects from messages option during the setup process, matching strings or URLs in subjects or bodies of messages will be extracted.

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

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


Pricing

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

Feature

Growth plan

Scale plan

Premier plan

Extract strings or URLs into dynamic objects with a Title and URL

Set Description and Owner fields for dynamic objects

Create dynamic objects with third-party data

Customers on the Scale plan or above can further enhance their dynamic 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.