Certain Signal Connector: Advanced Webhooks Integration Guide

This document is a guide to using Certain Signal Connector to integrate with other applications by using Advanced Webhooks. This includes the use of nested JSON as well as everything available in the standard "Webhooks" integration module.

If you are using that standard module, please see the separate guide to integrations using standard webhooks.

(Signal Connector also integrates with Marketo, Eloqua, and Salesforce — see separate guides.)

Certain Signal Connector for Advanced Webhooks is not included with Certain Platform by default. If you are interested in adding this or any other Signal Connector integration to your instance of Certain, email features@certain.com, including your account name and the Signal Connector integration(s) you are interested in.

What is Signal Connector? How does it work?

Certain Signal Connector processes data from your events in real time. It passes data from Certain Platform to your target third-party application. The target third-party application could be any app with webhook integration. Examples include Slack and Google Forms.

This real-time integration empowers sales and marketing teams to take intelligent, prompt action on the right event data.

Almost everything is set up at the account level. Signal Connector processes information from the events in your account. Event-level information is based on the custom tags you attach to data. These tags include Registration Statuses, as explained in this guide.

> Important: Signal Connector processes outbound information. Signal Connector processes information from Certain and sends it to your target application.

Prerequisites

Data-Flow Considerations

Credentials in Target Application

To set up a Connection in Signal Connector, the administrator of your target third-party application must provide the information described under "Adding a Connection" on page 6.

For example, if your chosen Authentication Method is OAuth2, create an OAuth2 app in that system. Provide the following values:

Overview of Setup Steps

On Certain Platform

| Step | See Page | |---|---| | 1. Add tags in the account | 3 | | 2. Apply those tags | 3 & 4 |

In Certain Signal Connector

| Step | See Page | |---|---| | 3. Add a Connection | 6 | | 4. Configure a Flow | 8 |

Setting up Tags

What Are Tags?

Tags are a way of identifying event-level data using labels you set at the account level.

You can apply those tags to generic items in events. Tags apply especially to custom registration statuses and custom registration properties for use in Certain Signal Connector. Tags can be used for other purposes as well. This guide does not cover those other purposes.

Your events may have several custom registration statuses in addition to the standard ones. You can apply the same Tags to more than one status. You can also give each status its own Tag.

When you set up a Flow in Certain Signal Connector to send data to your target application when an attendee's Registration Status changes, you specify the tags applicable to those statuses. You do not specify the statuses themselves. The flow can apply to any event in your account.

Setting Tags Up for an Account

1. As an Administrator, go to Account Settings > Management > Tags.

2. Enter a Name and a Label for the tag.

3. Select the Object(s) to which the tag can apply. For example, "Registration Statuses" and/or "Custom Registration Properties".

4. Click Add.

5. Repeat as required for as many tags as you need.

6. Important: Add enough tags to apply to all of the following that you will use in flows (see page 10):

7. Also add enough tags to apply to all of the following that you will use in filters for flows (see page 10):

Applying Tags in an Account

In each event from which you want information to flow through Certain Signal Connector, apply tags to the relevant information. Apply tags to:

You can also tag Attendee Types and Events. Then you can filter registration records by attendee type or event. See Filters on page 10.

Default Registration Statuses

Default Registration Statuses apply to all events. An Administrator applies the tags at the account level.

1. Go to Account Settings > Management > Registration Statuses. 2. Select one or more Tags for each status.

> Important: Even if you do not use any standard registration statuses, best practice is to set up tags for all of them. It is essential to tag at least the New status. Certain uses the New status "behind the scenes" when first processing each registration.

> Important: If you do use standard reg statuses, tag them all. Tagging standard reg statuses enables the use of those statuses in the Flows configured in Signal Connector. See page 8.

Applying Tags in an Event

Custom Registration Statuses

If any of the Flows you configure in Signal Connector will watch or activate for Custom Reg Statuses (see page 9):

1. In each event, go to Plan > Event Setup > Custom Statuses. 2. Select at least one tag for each status.

Custom Registration Properties

If any of the Flows you configure in Signal Connector will watch or activate for Custom Reg Properties (see page 9):

1. In each event, go to Plan > Configure. 2. Under Custom Registration Properties, select at least one tag for each custom reg property in the event.

Standard Registration Properties (Automatic)

These tags are set up for you automatically. The names are identical to the properties themselves:

You only see these tags in Signal Connector. In Signal Connector, you can activate Flows for these tags. See page 9. There is nothing to edit on Certain Platform.

Attendee Types

Attendee Types are optional. Attendee Types support use with filters. See page 10.

1. In each event, go to Plan > Event Setup > Attendee Types. 2. Select one or more Tags for each attendee type on which you may wish to filter registrations. See Filters on page 10.

Events

Events are optional. Events support use with filters. See page 10.

1. In each event you may wish to include in a filter. For example, include in a filter to ensure that only registrations for that event are passed to your target application: 2. Go to Plan > Event Setup > Details. 3. Select one or more Tags for the event.

Registration Questions

Registration Questions are optional. Registration Questions support use with mapping Certain fields to fields your target application. See page 11.

1. In each event in which you use registration questions to capture data from attendees, and in which you wish to pass those answers to your target application: 2. Go to Plan > Event Setup > Questions. 3. Select just one Tag for each question. Selecting more could result in duplicate data in your target application.

Opening Certain Signal Connector

When Signal Connector is activated for your account, the Account Settings > Implementation menu includes an extra option. The menu is available to Administrators.

Click this link to open Certain Signal Connector in a separate window. Certain Signal Connector runs separately from Certain Platform.

> Note: To return from Signal Connector to Certain Platform at any time, click the exit icon.

Setting up a Connection

What are Connections?

A Connection in Certain Signal Connector specifies how to connect to your target application.

You can have multiple connections. These multiple connections can include other third-party applications. (Marketo, Eloqua, and Salesforce are covered in separate guides.)

Each Flow (see page 7) requires a Connection. Multiple flows may use the same Connection.

You can set up a Connection before configuring your first Flow. You can also set up a Connection while configuring a Flow. This guide assumes you are setting up the Connection first.

Adding a Connection

As an Administrator, you may set up one or more Connections for your account. You need only set up Connections once. You can then use the Connections in the Flows you set up (see page 7, below).

1. Go to Account Settings > Implementation > Signal Connector Real-Time Data Integration. 2. Certain Signal Connector opens in a separate window. 3. Click Connections in the left navigation panel. 4. Click Add A Connection in the Connection List page that opens. 5. Enter the details in the Connection Setup screen that opens.

| Basic Authentication | Open / No Auth | API Key / Token | OAuth2 | |---|---|---|---| | URL | URL | API Key / Token | Grant Type | | Content Type | Content Type | | Client ID | | Request Method | Request Method | | Client Secret | | User Name | | | Authorization URL | | Password | | | Access Token URL | | | | | Refresh Token URL | | | | | Scope | | | | | Test Connection URL |

Basic Authentication

Open / No Auth

Open / No Auth is the lowest level of security.

API Key / Token

OAuth2

All these values must be provided by the administrator of your target application.

1. Click Save & Test. 2. If the test is successful, click Close. 3. If the test is not successful, check that the values in step 5 are all correct.

Setting Up Flows

What is a "Flow"?

A flow is a configuration to manage the flow of data from Certain to your target application.

You create Flows from the landing page in Signal Connector. See "Configuring a Flow" below.

You may configure several flows for an account. These flows might all use the same Connection (explained above).

You only need to configure a flow once at the account level.

When a flow is complete, it starts picking up data for each event in that account within about a minute.

Signal Connector runs independently from Certain Platform. This independence creates the minute's delay. If you edit a flow, the same slight delay occurs before that change takes effect in the processing of the registrations.

The Flow List

As an Administrator in Certain Platform, go to Account Settings > Implementation > Signal Connector Real-Time Data Integration.

Certain Signal Connector opens in a separate browser window.

The main screen in Signal Connector is the Flow List. The Flow List lists all flows.

The Status column shows whether a flow is completely set up.

The Active column shows whether the flow is running.

Click the toggle button to change a flow from Active to Inactive, or vice versa.

Configuring a Flow

Click ADD A FLOW to start setting up a new flow.

The configuration consists of:

"Live" or "Test"

The Live toggle switch determines whether your Flow is Live or Test.

A Live Flow picks up all live registrations in live events. The Live Flow ignores test registrations, even in live events.

A Test Flow picks up all test registrations. A Test Flow includes all registrations in test events. A Test Flow also includes any registrations marked as "Test" in live events.

> Best Practice: Set a new flow up as Test. Test the flow. Then set the flow to Live.

Flow Data Source

Next, specify the Source of data for the flow. Optionally apply Filters.

The Source of a Flow is what the Flow will watch for in your data in Certain. The Source defines when the Flow activates based on that data.

For example, the flow might watch for any change to a Registration Status. The flow activates if an attendee's status has changed to a status tagged as "Registered".

Available sources

You set a flow to watch for any one of the following:

> Note: You can always save an incomplete Flow and complete it at a later date. When the Flow becomes complete, it starts picking up data after the usual minute's delay.

Activate for …

Choose what the flow should activate for by selecting one or more tags in each appropriate object's dropdown list.

You can activate for tags applied to Registration Statuses and/or Registration Properties.

Other options may be added depending on what the Flow is watching for:

The tags available for selection are those set up for that object. See page 3.

For example, the tags for Registration Statuses include Registration Status tags. You can apply Registration Status tags to:

Flow Filters

You can filter the data going into a flow by selecting fields in any of these three filter types:

The flow includes a registration only if the registration meets the rule(s) specified in the filter.

> Note: For custom fields you can only select "enumerated" questions. Enumerated questions have pre-configured answers. Enumerated question types include Select, Multi-select, Checkbox, or Radio.

Flow Destination

Select Advanced Webhooks from the integrations set up by Certain for your account. You may have Advanced Webhooks and other options to choose from.

Setting up a Destination

1. Give the Destination a Name of your choice.

2. Select the Connection to use.

3. Select Advanced Webhook as the Action for this connection.

4. Select or add the mappings to use. See next.

Mappings

Select or set up a set of mappings. You can have two mappings:

The setup process is the same for each mapping.

A mapping specifies how each target field in your third-party application matches a source field in Certain.

Select a mapping from the drop-down list.

If nobody has set any mappings up yet, or if you need something other than one of the existing mapping options, click New Mapping to add one. The Mapping Setup screen opens:

1. Mapping Name: Give the mapping a name of your choice.

2. Select Root Element Type: In the great majority of cases, leave this set to the default value, Object.

3. Hint: The easiest way to start setting up an Advanced Webhooks destination is to obtain a sample JSON from the source. Paste that sample JSON into the text box. Signal Connector parses the structure you need to support it. Signal Connector determines the source fields you need, and Signal Connector saves you from typing the source fields yourself.

4. "Parsed Structure" Option: Continue here if you paste in a sample JSON and let Signal Connector parse the sample JSON to determine the data structure.

5. Obtain a sample JSON payload from your target application. This sample includes the target fields you map to Certain fields in step 10.c.

6. Paste the sample JSON into the Sample JSON from Destination text box.

7. Click Parse JSON.

8. Signal Connector determines the target fields in that JSON. Signal Connector displays those target fields on screen as if you had entered them yourself.

9. Proceed to step 10.c below to map those fields to source fields in Certain Platform.

10. "Manual Setup" Option (and mapping parsed fields)

For each of the target fields in your target application:

If you chose to let Signal Connector parse a JSON (per steps 3 to 9), skip the next step and go straight to step 10.c. The list of target fields is prepopulated for you. This prepopulation happens as mentioned in step 8 above. An example screenshot of the parsed JSON appears on page 16.

10.a

If you chose not to let Signal Connector parse a pasted JSON to determine the data structure, and if you clicked Let me set them up myself in step 3:

> Caution: The type must map the type of data in the JSON payload.

The Certain fields you can choose from as the source of the data going into the target fields in your target application will include some of the following, depending on what your flow will activate for. If the flow activates for Event Statuses, you can only map event fields.

> Note: Unlike a standard Webhooks integration (see separate guide), an Advanced Webhooks integration can include arrays. An Advanced Webhooks integration can include arrays. Certain source fields you can select from include lists such as Registration Question List, as listed above.

> Note: You can concatenate multiple source fields for the same target field. You can also type fixed text. > > Example: For target field "Title", you could choose source fields "Position" and "Organization". These are separated by two spaces and "@".

11. In the second column, select a transformation option for each field.

The default of no selection sends the data to your target application unchanged.

The transformation options are:

> Note: You can select more than one transformation for a field. For example, you could change it to Proper Case and trim it.

12. Continue adding more target/source field pairs as necessary.

If you selected a mapping, two other buttons are enabled:

The buttons have self-explanatory labels.

13. Save the mapping.

Example Mapping from Pasted JSON

If you chose the "Parsed Structure" option in Step 4, the steps below illustrate the process:

1. An example JSON you might paste in for Signal Connector to parse. 2. How Signal Connector parses that JSON into target fields. 3. How those target fields get mapped to source fields in Certain.

Example JSON

{
  "attachments": [
    {
      "author_name": "Sample Event Survey",
      "color": "#FF8C00",
      "pretext": "*Event Name:* My Test Event `Event Survey Response`",
      "text": "Survey responses below:",
      "fields": [
        "short": "true",
        "title": "Testing",
        "value": "Correct"
      ],
      "title": "Attendee: Matt Cash (75876-4308060-1172)"
    }
  ]
}

When Signal Connector parses this JSON, Signal Connector identifies target fields nested under attachments:

In an example mapping, these target fields might be mapped to these Certain source fields:

Metrics Dashboard

To see the statistics available in Signal Connector, click Metrics in the left navigation panel when looking at flows.

Metrics choices in the new navigation panel depend on the flows and their targets. The first option is Insights, as described below. Other links may include, for example, Webhook Posts. Those links all work in the same way as Account Insights.

Account Insights

Select whether you want to see:

Select the period for which you want to see the data. Examples include:

There are three tabs:

Summary tab

This is the default tab on the Insights page.

The figures shown depend on the flows and actions.

For some figures, you can click the number to drill down further. For example, click Unique Registrations to see the registrations processed by any flows in your selected time frame.

You can filter or search for records when you drilled down.

Example filter: filter on an Event Code to see only the registrations in that event.

The figures listed below are shown. These figures are for the whole account. The whole account includes all events and registrations. The whole account includes all flows in your account. Some flows might not be Webhooks integrations. Some figures shown might not apply to webhooks.

For each figure, click the number to drill down to details.

Troubleshooting tab

The second tab on the Insights page shows information you may find useful for troubleshooting.

Example: If some registrations are not processed because a Registration Status is not tagged, the Insights data provides a chance to rectify that issue. Rectifying enables the registrations to be processed on the next retry.

The numbers shown are as follows. Click a number to drill down to see details of the actual records.

Activity Feed tab

The third tab on the Insights page lists the registrations processed. The list notes success or failure, Registration Code, Event, Flow, etc.

This Activity Feed is a rolling history by date.

This feed is another way to access lower-level data. You can access the same data by drilling down in the Summary or Troubleshooting tabs.

The Retry Queue

When an action fails, the action usually joins the "Retry Queue". The action takes its turn to run again.

Failures that cannot be resolved, such as missing mandatory fields, are exceptions. Those failures do not join the queue.

An action can be retried up to three times. After those retries, the action does not rejoin the queue.

To see the Retry Queue, click Retry in the left navigation panel on the Flows page.

Causes of failure include:

Where you can resolve the cause of failure, the next retry should succeed.

For other failures that do not resolve themselves, you probably need to contact your administrator or ask Certain for help.

The interval between retries depends on the severity of the reason. More serious reasons cause sooner retries.

Filtering the Queue

You can filter the records shown in the Retry Queue using these three filters:

Submitting to the Queue

When you click an item in the Retry Queue, you see its full details.

If that knowledge is enough to solve the problem, click Submit to Retry Queue. This adds the item straight to the front of the queue.

Replaying a Flow

If you change an aspect of a flow while the flow has been running for some time, you may want to replay that flow for the same registrations as before. This replay acts as if the changes were made earlier.

This replay is not something you can do directly.

You can ask Certain to arrange it for you.

You may be able to specify a date range. You may also be able to specify an event.

© 2019 Certain, Inc. | Certain Signal Connector for Advanced Webhooks

Source:

Published:

Keywords: Certain Signal Connector, Advanced Webhooks, webhooks, tags, Connections, Flows