Signal Integration with Advanced Webhooks Guide

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

If Certain Platform uses the standard module, see the separate guide for integrations using standard webhooks.

Certain Signal also integrates with Marketo, Eloqua, and Salesforce. See the separate guides for those integrations.

Certain Signal for Advanced Webhooks is not included with Certain Platform by default.

Contents

What is Signal? How does it work?

Certain Signal processes data from events in real time.

Certain Signal passes processed data from Certain Platform to a target third-party application.

A target third-party application can be any app with webhook integration, such as Slack or Google Forms.

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

Almost everything in Certain Signal is set up at the account level.

Certain Signal processes information from events in the account.

Event-level information depends on custom tags attached to data such as Registration Statuses, as explained in this guide.

Important: Certain Signal processes outbound information by processing information from Certain. Certain Signal sends that processed information to the target application.

Prerequisites

Data-Flow Considerations

Data-Flow Considerations determine whether Certain Signal can send the required information to the target third-party application.

Data-Flow Considerations include the following questions.

Credentials in Target Application

Signal Connections require target application administrator-provided information.

The target third-party application administrator provides the information described under ‘Adding a Connection’.

For example, if the chosen Authentication Method is OAuth2, the target administrator must create an OAuth2 app in that system.

The OAuth2 app configuration requires the Endpoint, Client Id, and Client Secret.

Overview of Setup Steps

Setup steps appear in two parts: steps on Certain Platform and steps in Certain Signal.

On Certain Platform

1. Add tags in the account. 2. Apply those tags.

In Certain Signal

3. Add a Connection. 4. Configure a Flow.

Setting up Tags

What Are Tags?

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

Certain Signal uses tags to apply those tags to generic items in events.

Certain Signal uses tags for custom registration statuses and custom registration properties for use in Certain Signal.

This guide notes that tags can be used for other purposes. This guide does not cover other purposes.

For example, events may include several custom registration statuses in addition to standard ones.

A flow can apply the same Tags to more than one status.

A flow setup can also give each status its own Tag.

When Certain Signal sets up a Flow to send data to the target application when an attendee’s Registration Status changes, the flow uses tags applicable to those statuses.

The flow does not use statuses themselves.

This tag-based setup means the flow can apply to any event in the 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.

4. Click Add.

5. Repeat as required for as many tags as needed.

6. Important: Add enough tags to apply to all of the following that will be used in flows.

7. Also add enough tags to apply to all of the following that will be used in filters for flows.

Applying Tags in an Account

In each event, apply tags to relevant information that should flow through Certain Signal.

Relevant information includes Registration Statuses and Registration Custom Properties.

The events tagging process can also include tagging Attendee Types and Events to filter registration records by attendee type or event. See Filters.

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 standard registration statuses are not used, best practice is to set up tags for all standard registration statuses. It is essential to tag at least the ‘ New ’ status.

New’ is required because Certain uses it “behind the scenes” when first processing each registration.

If standard reg statuses are used, tag them all.

Tagged standard reg statuses are required for use in Flows configured in Signal. See ‘Configuring a Flow’.

Applying Tags in an Event

Custom Registration Statuses

Custom Registration Statuses apply to Flows that watch or activate for Custom Reg Statuses.

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

Custom Registration Properties

Custom Registration Properties apply to Flows that watch or activate for Custom Reg Properties.

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)

Standard Registration Properties (Automatic) include the following tags.

These tags are set up automatically with names identical to the properties themselves.

These tags appear in Signal.

Certain Platform does not include any editing steps for these tags.

Attendee Types

Attendee Types are optional for use with filters. See ‘Flow Filters’.

1. In each event, go to Plan > Event Setup > Attendee Types. 2. Select one or more Tags for each attendee type to filter registrations.

Events

Events are optional for use with filters. See ‘Flow Filters’.

1. In each event, include the event in a filter when only registrations for that event should be passed to the target application. 2. Go to Plan > Event Setup > Details. 3. Select one or more Tags for the event.

Registration Questions

Registration Questions are optional for use with mapping Certain fields to fields in the target application. See ‘Mappings’.

1. In each event, use registration questions to capture data from attendees when that data should be passed to the target application. 2. Go to Plan > Event Setup > Questions. 3. Select just one Tag for each question. Selecting more can result in duplicate data in the target application.

Opening Certain Signal

When Signal is activated for the account, the Account Settings > Implementation menu includes an extra option.

The extra option is • Signal Real-Time Data Integration.

Click that link to open Certain Signal in a separate window.

Certain Signal runs separately from Certain Platform.

Note: To return from Signal to Certain Platform at any time, click the provided control.

Setting up a Connection

What are Connections?

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

An account can include multiple connections, including connections to other third-party applications.

Marketo, Eloqua, and Salesforce are covered in separate guides.

Each Flow requires a Connection.

Multiple flows may use the same Connection.

A Connection can be set up before configuring the first Flow.

A Connection can also be set up while configuring a Flow.

This guide assumes the Connection is set up first.

Adding a Connection

1. As an Administrator, go to Account Settings > Implementation > Signal Real-Time Data Integration. 2. Certain Signal 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 details in the Connection Setup screen that opens.

Connection Setup fields

The authentication type selection determines other fields displayed.

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

Basic Authentication

Open / No Auth

Open / No Auth is described as the lowest level of security.

API Key / Token

OAuth2

All values for OAuth2 must be provided by the administrator of the target application.

6. Click Save & Test. 7. If the test is successful, click Close. 8. If the test is not successful, check that 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 the target application.

Flows are created from the landing page in Signal. See ‘Configuring a Flow’ below.

Multiple flows can be configured for an account.

Multiple flows might all use the same Connection.

A flow only needs configuration once at the account level.

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

The minute delay exists because Signal runs independently from Certain Platform.

Editing a flow causes the same slight delay before changes take effect in the processing of registrations.

The Flow List

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

Certain Signal opens in a separate browser window.

The main screen in Signal is the Flow List.

The Flow List includes all flows.

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

The Active column shows whether a 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 the Flow is Live or Test.

A Live Flow picks up all live registrations in live events.

A Live Flow ignores test registrations, even in live events.

A Test Flow picks up all test registrations.

A Test Flow includes registrations in test events.

A Test Flow includes any registrations marked as ‘Test’ in live events.

Best Practice: Set a new flow up as Test and test it before setting it to Live.

Flow Data Source

Specify the Source of data for the flow, optionally applying Filters.

The Source of a Flow determines what the Flow will watch for in Certain.

The Source also determines when the Flow activates based on that data.

For example, the Flow might watch for a change to a Registration Status.

The Flow might activate when an attendee’s status changes to a status tagged as ‘Registered’.

Available sources

A flow can watch for one of the following:

Note: A Flow can be saved incomplete and completed later.

After a Flow becomes complete, the Flow starts picking up data after the usual minute’s delay.

Activate for …

Choose what the flow activates for by selecting one or more tags in each appropriate object’s dropdown list.

Tags for activation come from objects selected based on what the Flow watches.

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

Other activation options can depend on the Flow watching type.

The tags available for selection are the tags set up for the object.

For example, Registration Statuses include Registration Status tags, which can be applied to:

Flow Filters

Flow Filters narrow down the data going into a flow.

Flow Filters work by selecting fields in these three filter types:

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

Event

Available fields include:

Profile

Available fields include:

Attendee Type Tags

Available fields include:

Note: For custom fields, selecting filter fields supports only “enumerated” questions.

Enumerated questions are questions with pre-configured answers.

Pre-configured answer types include:

Flow Destination

Select Advanced Webhooks from the integrations set up by Certain for the account.

A flow destination selection can also include other integrations.

Setting up a Destination

1. Give the Destination a Name of choice. 2. Select the Connection to use. 3. Note: New Connection can be clicked to add a connection. 4. Select Advanced Webhook as the Action for this connection. 5. Select or add mappings to use, as described next.

Mappings

Select or set up a set of mappings.

Two mappings can exist.

One mapping is for the Payload.

One mapping is for the Http Header if required.

The setup process is the same for each mapping.

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

Select a mapping from the drop-down list.

If no mappings exist yet, click New Mapping to add a mapping.

Clicking New Mapping opens the Mapping Setup screen.

Mapping Setup steps

1. Mapping Name: Give the mapping a name.

2. Select Root Element Type: In most cases, leave this set to default value, Object.

3. Hint: Obtain a sample JSON from the source.

4. ‘Parsed Structure’ Option

5. Obtain a sample JSON payload from the target application.

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

7. Click Parse JSON.

8. Signal determines target fields and displays them as if entered manually.

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

10. ‘Manual Setup’ Option (and mapping parsed fields)

10.b. If Signal parsing is not used and ‘Let me set them up myself’ was clicked in step 3:

11. Select transformation options in the second column for each field.

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

13. If a mapping is selected, two buttons become enabled:

14. Click Save the mapping.

Example Mapping from Pasted JSON

If the ‘Parsed Structure’ option in Step 4 is selected, the next three pages illustrate three steps:

1. An example JSON that Signal parses. 2. A screenshot showing how Signal parsed that JSON. 3. A screenshot showing those source fields mapped to target in Certain.

The screenshot below shows how Signal parses this JSON.

Parsed JSON.

The screenshot below shows how Signal might map these fields.

Parsed JSON with each target field mapped to a source field in Certain.

Metrics Dashboard

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

Metrics choices depend on the flows and their targets.

The first metrics choice is Insights.

Other links may include, for example, Webhook Posts.

Webhook Posts use the same approach as Account Insights.

Account Insights

Account Insights includes selecting whether to view Live Flows or Test Flows.

Account Insights includes selecting the period for which data appears.

Examples include:

Account Insights includes three tabs:

Summary tab

The Summary tab is the default tab on the Insights page.

Figures in the Summary tab depend on flows and actions.

Some figures can be clicked to drill down further.

For example, click Unique Registrations to see the registrations processed by flows in the selected time frame.

The Summary tab includes filtering after drilling down.

For example, filter on an Event Code to see only registrations in that event.

Summary figures represent the whole account.

Summary figures cover all events and registrations.

Summary figures cover all flows in the account.

Some figures may not be applicable to webhooks integrations.

Each number can be clicked to drill down for details.

Troubleshooting tab

The Troubleshooting tab provides information useful for troubleshooting.

Example troubleshooting includes registrations not processed because a Registration Status is not tagged.

Tagging can allow registrations to be processed on the next retry.

Click a number to drill down to details of actual records.

Activity Feed tab

The Activity Feed tab on the Insights page lists registrations processed.

Each entry notes success or failure.

The Activity Feed includes Registration Code, Event, Flow, etc.

Activity Feed is a rolling history by date.

Activity Feed provides access to lower-level data that can also be accessed by drilling down in Summary or Troubleshooting tabs.

The Retry Queue

When an action fails, the action usually joins the “Retry Queue”.

The Retry Queue reruns actions again.

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

An action can be retried up to three times.

After three 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:

Resolving the cause can include:

After resolving the cause, retry actions should succeed.

Other failures may require contacting an administrator or asking Certain for help.

The interval between retries depends on severity.

More serious reasons trigger retries sooner.

Filtering the Queue

The Retry Queue can be filtered using these three filters:

Submitting to the Queue

Click an item in the Retry Queue to see full details.

If the knowledge is enough to solve the problem, submit the item straight to the front of the queue.

The control adds the item to the front using “Submit to Retry Queue”.

Replaying a Flow

If a flow aspect changes while the flow has been running for some time, replaying that flow might be required.

The flow replay is needed when filters change.

Replay uses the same registrations as before.

Replay occurs as if the changes were made earlier.

Replay is not something that can be done directly.

A request to Certain can arrange replay.

Replay can specify a date range.

Replay can also specify an event.