What is Signal? How does it work?
- Signal processes data from your events in real time.
- Signal passes information from Certain Platform to your target third-party application.
- The target application could 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 is set up at the account level.
- Signal processes information from the events in your account.
- For event-level information this is based on the custom tags you attach to data such as Registration Statuses, as explained in this guide.
- Important: Signal processes outbound information, processing information from Certain and sending it to your target application.
Prerequisites
Data-Flow Considerations
- Do you capture data in registration questions that will be synced to the third-party app to which you are integrating?
- If so, you’ll need to apply tags to those questions (see “Applying Tags”).
- Do you have different data mappings based on registration status or attendee type?
- If so, you’ll need to apply tags to those items (see “Applying Tags”).
Credentials in Target Application
- To set up a Connection in Signal, the administrator of your target third-party application will need to provide the information described under “Adding a Connection.”
- For example, if the chosen Authentication Method there is OAuth2, then they’ll need to create an OAuth2 app in that system, and provide Endpoint, Client Id, and Client Secret.
Overview of Setup Steps
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 you set at the account level.
- You can then apply those tags to generic items in events, especially custom registration statuses and custom registration properties for use in Certain Signal.
- Tags can be used for other purposes as well, but this guide doesn’t cover that.
- For example, 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, or you might choose to give each one its own Tag.
- When you set up a Flow in Certain Signal to send data to your target application when an attendee’s Registration Status changes, for example, you specify the tags applicable to those statuses, not the statuses themselves.
- That means 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 “Flow Data Source”):
- Registration Statuses
- Custom Registration Properties
7. Also add enough tags to apply to all of the following that you will use in filters for flows (see “Flow Filters”):
- Attendee Types
- Events
Applying Tags in an Account
- In each event from which you want information to flow through Certain Signal, apply tags to the relevant information: Registration Statuses and Registration Custom Properties.
- You can also tag Attendee Types and Events so that you can filter registration records by attendee type or event (see Filters).
Default Registration Statuses
- These apply to all events, so an Administrator applies the tags at the account level.
1. Go to Account Settings > Management > Registration Statuses.
2. Add one or more Tags for each status.
- Important: Even if you don’t use any standard registration statuses, best practice is to set up tags for all of them, but it’s essential to tag at least the “New” status (which Certain uses “behind the scenes” when first processing each registration).
- If you do use standard reg statuses, it’s essential that you tag them all, so that you can use them in the Flows you configure in Signal (see “Configuring a Flow”).
Applying Tags in an Event
Custom Registration Statuses
1. In each event, go to Plan > Event Setup > Custom Statuses.
2. Select at least one tag for each status.
Custom Registration 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)
- These tags are set up for you automatically, with names identical to the properties themselves: Complete, Badge Printed, On To Do List, Invoice Generated, and Test.
- You only see them in Signal, where you can activate Flows for them. There’s nothing to edit on Certain Platform.
Attendee Types (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 on which you may wish to filter registrations. (See Filters)
Events (Optional – for use with filters – see “Flow Filters”)
1. In each event you may wish to include in a filter (for example 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 (Optional – for use with mapping Certain fields to fields in your target application – see “Mappings”)
1. In each event in which you use registration questions to capture data from attendees, and 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
- When Signal is activated for your account, the Account Settings > Implementation menu—available to Administrators—includes an extra option: Signal Real-Time Data Integration.
- Click that link to open Certain Signal in a separate window; it runs separately from Certain Platform.
- Note: To return from Signal to Certain Platform at any time, click the appropriate return option.
Setting up a Connection
What are Connections?
- A Connection in Certain Signal specifies how to connect to your target application.
- You can have multiple connections, including to other third-party applications (Marketo, Eloqua and Salesforce are covered in separate guides).
- Each Flow requires a Connection.
- You can set up a Connection before configuring your first Flow, or you can do so while configuring a Flow.
- This guide assumes you’re 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 do so once – you can then use them in the Flows you set up.
1. Go to Account Settings > Implementation > Signal Real-Time Data Integration.
2. Signal Real-Time Data Integration 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.
- Target: Use the pre-selected value – Advanced Webhook.
- Connection Name: Enter a name of your own choice (for example, the name of the application with which you are integrating).
- Authentication Type: Select from the options available (Basic Authentication, Open / No Auth, API Key / Token, OAuth2).
6. Click Save & Test.
7. If the test is successful, click Close. If not, check that the values in step 5 are correct.
Authentication methods
- Basic Authentication
- URL: The endpoint to which Signal must send data.
- Content Type: Choose between application/json or x-www-form-urlencoded.
- Request Method: POST or GET as appropriate.
- User Name: The user in the target system must have required permissions.
- Password: The user’s password.
- Open / No Auth
- Similar to Basic Authentication but without a User Name or Password.
- API Key / Token
- API Key / Token: Provided by the administrator of your target application.
- OAuth2
- All values must be provided by the administrator of your target application.
- Grant Type: Client Credentials or Authorization Code.
- Client Id, Client Secret: Unique to the OAuth2 app.
- Authorization URL, Access Token URL, Refresh Token URL, Scope.
- Test Connection URL.
- Is this a primary connection: A checkbox, relevant to Eloqua, Marketo and Salesforce integrations requiring backwards compatibility.
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.
- You may configure several flows for an account.
- All flows might use the same Connection.
- You configure a flow once at the account level.
- Once a flow is complete, it will start picking up data for each event in that account within about a minute.
- The minute delay exists because Signal runs independently from Certain Platform.
- If you edit a flow, the same slight delay occurs before that change takes effect in the processing of the registrations.
The Flow List
- The main screen in Signal 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.
- Use the toggle 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:
- Name
- Live or Test status
- Source
- Filters
- Destination
- Live vs Test
- A Live Flow will pick up all live registrations in live events.
- It will ignore test registrations, even in live events.
- A Test Flow picks up all test registrations (all registrations in test events, plus 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
- The Source of a Flow is what the Flow will watch for in your data in Certain and when it will activate, based on that data.
- Examples include watching for changes to a Registration Status and activating if a status tagged as “Registered” changes.
- Available sources:
- Registration Create Update: When a registration is created or updated.
- Registration Status Change: When a registration’s status changes.
- Session Registration Status Change: When a registration’s session status changes.
- Event Create Update: When an event is created or updated.
Activate for …
- Choose what the flow should activate by selecting one or more tags in each appropriate object’s dropdown list.
- If the flow watches for Registration Status Change, you must activate for Registration Statuses.
- If it watches for Session Registration Status Change, you must activate for Session Registration Statuses.
- If it watches for Event Create Update, you must activate for Event Statuses.
- The tags available are those set up for that object.
Flow Filters
- You can filter the data going into a flow by selecting fields in any of these three filter types:
- Event fields
- Profile fields
- Attendee Type tags
- The flow will only include a registration if it meets the rule(s) specified in the filter.
- Event fields include standard event fields (e.g., Event Code), custom event fields, and event tags.
- Profile fields include standard profile fields (e.g., Position) and custom profile fields.
- Attendee Type Tags include tags that can be applied to Attendee Types.
Flow Destination
- Select Advanced Webhooks from the integrations set up by Certain for your account.
- Setting up a Destination:
1. Give the Destination a Name.
2. Select the Connection to use.
3. Select Advanced Webhook as the Action for this connection.
4. Select or add the mappings to use.
Mappings
- You can have two mappings: one for the Payload and one for the Http Header (if required).
- A mapping specifies how each target field in your third-party application matches a source field in Certain.
- Use the Mapping Setup screen to define:
- Mapping Name
- Root Element Type (Object or Array of Objects)
- Parsed Structure (if pasting JSON)
- Sample JSON from Destination (optional)
- Manual Setup (mapping target fields to source fields)
- Transformations (lower case, Proper Case, UPPER CASE, Trim)
- Required fields (checkbox)
- Saving the mapping
- Example: You can concatenate multiple source fields for the same target field, and you can type fixed text.
Example Mapping from Pasted JSON
- If you chose the “Parsed Structure” option, Signal will parse a sample JSON you paste.
- You will see an example JSON, how Signal parsed it, and how those source fields map to target fields in Certain.
Mappings: Additional Details
- You can edit a mapping after creating it.
- You can preview a mapping.
- Mapping setup can support arrays in the payload, including fields like Registration Question List > Question Name, Question Code, and Question Answer.
Example Mappings with Parsed Structures
- See the provided examples showing a Parsed JSON and how source fields map to target fields.
- The examples illustrate how to map complex nested structures.
Metrics Dashboard
- To see statistics available in Signal, click Metrics in the left navigation panel when looking at flows.
- The Insights tab is the default on the Metrics page.
- Other links may include Webhook Posts; these work the same as Account Insights.
Account Insights
- Choose Live Flows or Test Flows.
- Select the period for the data (last 15 minutes, 1 hour, 4 hours, or a number of days).
- Tabs: Summary, Troubleshooting, and Activity Feed.
- Summary tab shows high-level counts and drill-downs (e.g., Unique Registrations).
- You can filter or drill down to see details by Event Code or other fields.
Troubleshooting tab
- Shows information useful for troubleshooting.
- If a Registration Status isn’t tagged, you can rectify this to enable processing on the next retry.
Retry Queue
- If an action fails, it joins the Retry Queue and will be retried automatically (maximum three retries per action).
- You can view the Retry Queue by clicking Retry in the left navigation panel on the Flows page.
- Causes of failure include untagged statuses or a down connection.
- You can resolve failures by tagging registrations or reactivating flows.
- If failures persist, contact your administrator or Certain for help.
- Retry intervals depend on the failure cause; more serious issues trigger sooner retries.
The Retry Queue
- When an action fails it usually joins the Retry Queue, where it will be retried.
- Failures that cannot be resolved immediately (for example, missing mandatory fields) are exceptions and do not join the queue.
Replaying a Flow
- If you change aspects of a flow while it has been running for some time, you may want to replay the flow for the same registrations.
- This is not directly possible; you can ask Certain to arrange it for you.
- You may specify a date range or an event for replay.
Closing notes
- This guide provides a comprehensive walkthrough for configuring Signal with Advanced Webhooks.
- If you need assistance, contact help@certain.com with your account name and the Signal integration(s) you’re interested in.