Front

Front is a cloud-based customer operations platform that enables support, sales, and account management teams to streamline communication and deliver service at scale.

Data integration: Skyvia supports importing data to and from Front, exporting Front data to CSV files, replicating Front data to relational databases, and synchronizing Front data with other cloud apps and relational databases.

Backup: Skyvia Backup does not support Front.

Query: Skyvia Query supports Front.

Establishing Connection

To create a connection to Front, sign in with Front using your credentials.

Creating Connection

front-connection

To connect to Front, perform the following steps:

  1. click Sign In with Front in the Connection Editor and enter your Front credentials.

    front-sign-in

  2. Click Authorize to give Skyvia your permission to access your Front data.

    front-authorize

Additional Connection Parameters

Suppress Extended Requests

For the Teams object, Front API returns only part of the fields when querying multiple records. To query values of the Members field, Skyvia performs additional extended requests. Such API requests can be performed for each record of such an object. However, this can decrease performance and significantly increase the number of API calls used.

You can select the Suppress Extended Requests checkbox to reduce the number of API calls.

Use Custom Fields

Select this checkbox to make Front custom fields available in Skyvia.

Connector Specifics

Object Peculiarities

Conversations

When inserting or updating data in this object, map either the TeammateIds or InboxId field in addition to the required fields.

Front API supports importing conversations with the Type = discussion only.

The Status field valid values for the UPDATE operation are Archived, Open, Deleted, or Spam.

Drafts

This object requires mapping the ChannelId field for the UPDATE operation.

MessageTemplates

When you query this object, the values in the Links_Related_ParentFolder fields are returned as URLs in the results. For example, https://entecheco.api.frontapp.com/message_template_folders/rsf_fqfq. When you insert data or update this field, you must specify only the message folder ID part, for instance, rsf_fqfq.

Channels

The Type field valid values for the INSERT operation are custom, smtp, and twilio.

Filtering Specifics

Skyvia supports the following native filters for Front objects.

Object Field Operator
Contacts <, <=, >, >= UpdatedDate
Conversations = Status
Events = Type
Events <, <=, >, >= EmittedAt

Use only these filters to improve performance and save API calls. You can use filters with other fields or operators, but it may increase API call usage.

Sorting Specifics

Front API supports sorting for the following objects and fields:

Object FieldS
Contacts UpdatedDate
Tags Id
Events EmittedAt
MessageTemplateFolders CreatedDate or UpdatedDate (only one field at a time)
MessageTemplates CreatedDate or UpdatedDate (only one field at a time)

Custom Fields

The following objects support custom fields: Contacts, Teammates, Inboxes, Conversations, ConversationFollowers, ConversationInboxes, InboxTeammates. Custom fields support INSERT and UPDATE operations.

Front supports custom fields of the following types.

Front Data Type DbType
String String
Inbox String
Teammate String
Enum String
DateTime DateTime
Number Double
Boolean Boolean

Incremental Replication and Synchronization

Skyvia supports Replication with Incremental Updates for the Tags, ChildrenTags, MessageTemplateFolders, MessageTemplates, and Contacts objects. Skyvia tracks only new records for the ContactNotes, Conversations, ConversationMessages, and Drafts.

Skyvia supports Synchronization for the Tags, MessageTemplateFolders and MessageTemplates objects.

DML Operations Support

Operation Object
INSERT, UPDATE, DELETE Contacts, Drafts, MessageTemplateFolders, MessageTemplates, Tags
INSERT ChildrenTags, ContactNotes, ConversationComments, ConversationMessages, Inboxes
INSERT, UPDATE Channels, Conversations
INSERT, DELETE ContactGroups
UPDATE Teammates

Stored Procedures

Skyvia represents part of the supported Front features as stored procedures. You can call a stored procedure, for example, as a text of the command in the ExecuteCommand action in a Target component of a Data Flow or in Query.

ValidateChannel

To validate the specific channel, use the command.

call ValidateChannel(:channelId)

AddConversationFollowers and DeleteConversationFollowers

The following command adds teammates to the list of followers of a conversation.

call AddConversationFollowers(:conversation_id,:teammate_ids)

This command removes teammates from the list of followers of a conversation.

Parameter Description
Conversation_id The identifier of a conversation.
Teammate_ids IDs of the teammate to add to the followers list. You can supply the teammates’ emails alternatively. For example, the email [email protected], must be provided in the format [“alt:email:[email protected]”].

AddTeammatesInbox

To give access to one or more teammates to an inbox, use the following command.

call AddTeammatesInbox(:inbox_id,:teammate_ids)

Parameter Description
Inbox_id The identifier of the inbox.
Teammate_ids IDs of the teammate to add to the followers list. You can supply the teammates’ emails alternatively. For example, the email [email protected], must be provided in the format [“alt:email:[email protected]”]

AddTeammatesToTeam and RemoveTeammatesFromTeam

To add teammates to a team or to remove teammates from a team, use the corresponding command.

call AddTeammatesToTeam(:team_id,:teammate_ids)

or

call RemoveTeammatesFromTeam(:team_id,:teammate_ids)

Parameter Description
Team_id The identifier of the team.
Teammate_ids IDs of the teammate to add to the followers list. You can supply the teammates’ emails alternatively. For example, the email [email protected], must be provided in the format [“alt:email:[email protected]”]

UpdateConversationAssignee

The following command assigns or unassigns a conversation. To unassign a conversation, set Assignee_id to null.

call UpdateConversationAssignee(:conversation_id,:assignee_id)

CreateConversation

The following command sends a new message from a channel.

call CreateConversation(:channel_id,:to,:body,:cc,:bcc,:sender_name,:subject,:author_id,:text,:options_archive,:options_tagids,:signature_id,:should_add_default_signature)

You can omit the unnecessary parameters if needed.

Parameter Description
Channel_id Required. The sending channel ID. Alternatively, you can supply the sending channel address.
To Required. The list of the message recipients.
Body Required. The message text.
Cc The list of the recipients who get a message copy.
Bcc The list of the recipients who get a blind copy of this message.
Sender_name Name used for the sender info of the message.
Subject Subject of the message for an email message.
Author_id ID of the teammate on whose behalf the answer is sent.
Text Text version of the body for email messages.
Options_archive Boolean. Archive the conversation right when sending the message.
Options_tagids Boolean. List of tag IDs to add to the conversation.
Signature_id ID of the signature to attach to this draft. If null, no signature is attached.
should_add_default_signature Whether or not Front should try to resolve a signature for the message. It is ignored if Signature_id is specified. The default value is false.

ReceiveCustomMessages

Use this command to receive a custom message in Front.

This command works for custom channels ONLY.

You can omit the unnecessary parameters if needed.

call ReceiveCustomMessages(:channel_id, :sender_handle, :body, :sender_contactid, :sender_name, :subject, :body_format, :attachments, :metadata_headers, :metadata_threadref)

Parameter Description
Channel_id Required. The sending channel ID. Alternatively, you can supply the sending channel address.
Sender_handle Required. Handle of the sender. It can be any string used to identify the sender uniquely.
Body Required. The message text.
Sender_contactid ID of the contact in Front corresponding to the sender.
Sender_name Name of the sender.
Subject Subject of the message.
Body_format Format of the message body. It can be markdown (default) or html.
Attachments Binary data of attached files. Must use Content-Type: multipart/form-data if specified.
Metadata_headers Custom object where any internal information can be stored
Metadata_threadref Reference, which will be used to thread messages. If omitted, Front threads by sender instead.

ImportMessage

The following command imports a new message in an inbox.

You can omit the unnecessary parameters if needed.

call ImportMessage(:inbox_id, :sender_handle, :sender_authorid, :sender_name, :to, :cc, :bcc, :subject, :body, :body_format, :external_id, :created_at, :type, :assignee_id, :tags, :conversation_id, :attachments, :metadata_isinbound, :metadata_isarchived, :metadata_shouldskiprules, :metadata_threadref)

Parameter Description
Inbox_id Required. The identifier of the inbox.
Sender_handle Required. Handle of the sender. It can be any string used to identify the sender uniquely.
To Required. The list of the message recipients.
Body Required. The message text.
External_id Required. External identifier of the message. Front won’t import two messages with the same external ID.
Created_at Required. Date at which the message has been sent or received.
Sender_authorid ID of the teammate who is the author of the message. Ignored if the message is inbound.
Sender_name Name of the sender.
Cc The list of the recipients who get a message copy.
Bcc The list of the recipients who get a blind copy of this message.
Subject Subject of the message.
Body_format Format of the message body. It can be markdown (default) or html. Works for the email message type.
Type Type of the message to import.
Assignee_id ID of the teammate who will be assigned to the conversation.
Tags List of tag names to add to the conversation.
Conversation_id If supplied, Front will thread this message into conversation with the given ID. Note that including this parameter nullifies the Metadata_threadref parameter completely.
Attachments Binary data of attached files. Must use Content-Type: multipart/form-data if specified.
Metadata_isinbound Required. Boolean. Determines if a message is received (inbound) or sent (outbound) by you.
Metadata_isarchived Boolean. Determines if a message is archived after import.
Metadata_shouldskiprules Determines if rules should be skipped. True by default.
Metadata_threadref Reference, which will be used to thread messages. If omitted, Front threads by sender instead

Supported Actions

Skyvia supports all the common actions for Front.