- Outcomes and Audience
- Signals, MetaKeys, and Data Feeds
Outcomes and Audience
After using this guide, you will understand:
|How to create a Signal|
|How to stream the results to a Data Feed|
This document is most useful for software engineers who are:
- Technical owners responsible for the MetaCX application at your business
- Technical users responsible for creating Signals for your business
Before you perform the procedures in this document, you should have:
- Worked with MetaCX Implementation team to complete initial upload of Companies list
- Defined and mapped the MetaKey values for your Companies
- Successfully set up your first Connection and sent event data
Signals, MetaKeys, and Data Feeds
Signals turn events into actionable data that the rest of MetaCX can use. The CXReactor lets you choose an event, apply logic to it, and emit a Signal. Once the CXReactor has emitted Signals, the rest of the platform deals only with the Signals and not the original events.
MetaCX uses an identifier called a MetaKey for Companies. The CXReactor needs the identifiers you use for Companies in your app to be mapped to the MetaKey so that it can aggregate the events under the correct Company. You do the mapping as part of defining a Signal.
You can verify that your configuration is emitting the correct Signals by streaming to a Data Feed. As part of the process of setting up a Signal, you set up a Data Feed to show a simple stream of information coming through the Signal. In addition to verifying your configuration, Customer Success Managers on your team might find the information in a Data Feed useful for day-to-day tasks.
There are two places you can view a Data Feed. The first is in the CXReactor by choosing the Data Feed icon in the upper right-hand corner. This view is best for confirming the fields you configured are flowing through the Signal as you expect.
The second option is on the Company itself. This is the location that customer success managers are more likely to use. Look for the Data Feed button at the bottom of the screen.
Creating a Signal
Event sources can send data about many kinds of entities and many kinds of activities. For simplicity, the procedures in this document assume you're setting up your Signal to receive information about logins to your own application. Use these steps to create a Signal:
- Navigate to the CXReactor in the MetaCX UI.
- If you don't already see a list of Signals, click the Signals icon in the upper right-hand corner. The Signals screen appears.
- Click the Manage Signals button in the lower right-hand corner, and then click Add Signal from the menu that appears. A list of event sources appears.
- Select the event source that sends the login events. A list of events from that event source appears.
- Select the event you want to use to create a Signal and click Use as Signal.
The Signal wizard appears. The following procedures take place within that wizard.
Defining and Mapping MetaKeys
These steps pick up from the end of the Creating a Signal procedure, which leaves you on the Fields step of the Signal wizard. Follow these steps to map a MetaKey on a Signal:
- Hover over the the field that contains the unique company ID your application uses. A key icon appears to the right of the field.
Tip: You may need to change the field type of the company ID field in order to make the key icon appear.
- Click the key icon and the Configure Field as a Key window appears.
- Map your company ID:
- If the company ID has already been mapped in MetaCX, choose the existing AltKey.
- If this is the first Signal for data coming from your app, then click Configure a New Key, give the new AltKey a name that clearly differentiates it from the MetaKey, and choose the Company ID MetaKey from the drop-down list.
- Click Save.
Tip: Make sure to give your AltKey a name that you will recognize as an AltKey value. Learn more about AltKey values by reading MetaKeys.
Adding Filter Conditions
These steps pick up from the end of the Defining and Mapping MetaKeys procedure, which takes place in the wizard to create a Signal. Use these steps to filter which event data from the event source makes it to the Data Feed. This example excludes logins from your own email domain from appearing in the Data Feed.
- Click the Rules icon on the Signal wizard. The Rules tab appears.
- Click Add a condition. A row appears where you can create a logic statement.
- Select the field that contains the email address from the first drop-down list.
- Select does not contain from the second drop-down list.
- Type your company's email domain in the third field. For example, if you type @example.com, the Signal will exclude data from logins from @example.com email addresses.
- Continue to the next procedure.
Streaming to Data Feed
These steps pick up from the end of the Adding Filter Conditions procedure, which takes place in the wizard to create a Signal. Use these steps to stream the data from the Signal to a Data Feed:
- Click the Reactions icon on the Signal wizard. The Reactions tab appears.
- Click Add Reaction to display the list of available reactions.
- Click Stream to Data Feed. A list of Data Feeds appears.
- Choose an existing Data Feed or scroll to the bottom of the list and click Create New. A window appears where you can configure the Data Feed.
- Drag the fields that you want to include in the Data Feed from the Signal Fields list on the left to the Data Feed Fields list on the right.
Note: If you include the Company ID value in the Data Feed, the value you see in the Data Feed will be the MetaKey value and not the ID from your app.
- Click Done to finish the Data Feed mapping.
- Click Save to finish the Signal.
Over time, you’ll want to send a variety of events from a number of event sources to MetaCX so that you can keep tabs on how customers are performing.
Beyond your own app, Salesforce can be an excellent source of events. You can send events to the MetaCX platform using APEX triggers. The code samples in the linked project will send Account record insert and update events to a MetaCX Connection. The instructions are included in the Readme in the repository: