Note: Download Workflow Template files here.
Overview
This process describes how you can leverage Okta Workflows to push visitors and their metadata into Pendo Adopt. Pendo recommends this approach, as Okta Workflows allows you to automatically update visitor metadata on a scheduled basis.
Requirements
-
The Workflow Template files downloaded here.
-
Access to Pendo Adopt as an Admin.
-
Access to Okta Workflows as a Super Admin.
Create Okta & Pendo Connections
1) Navigate to the Connections tab in Okta. We're going to be setting up 2 Connection applications: one for Okta and one for the Pendo Launcher.
2) Click "+ New Connection" and select the the generic API Connector application.
3) You will then be asked to input values into 4 fields: Connection Nickname, Auth Type, Header Name, and Header Value. The first values for the first three fields can be found below.
-
Connection Nickname: {Name of your choosing}
-
Auth Type: Custom
-
Header Name: x-pendo-integration-key
Finding the value to the fourth field, Header Value, requires you to navigate to Pendo Adopt.
4) In Pendo Adopt, navigate to Settings > Integrations and click Generate Integration Key and check Allow Write Access. Once the integration key is created, Return to Okta Workflows and copy and paste this value into the Header Value field.
5) Click '+ New Connection' located above the Application column.
6) Select the blue Okta connection.
7) Fill out the Connection Nickname, Domain, Client ID, and Client Secret fields according to Okta's directions.
8) Once you've added the Okta connector, you'll see the Okta connector appear as an application in your Connections tab. The new application will have a green check mark indicating the connection to the application is working.
Create New Folder
9) Click the blue plus button (1) in the Folders section and name your folder. For the purpose of this demonstration the folder will be called Nightly Pendo Sync (2). Keep your file name meaningful, as we'll need it throughout this process.
10) Click the gear icon next to the Nightly Pendo Sync folder you've just created. Then import the Workflow Template files which can be found here.
Note: You need to download the Workflow Template files in order to proceed through the rest of the steps of this process.
11) Once the helper flows have been successfully imported, turn each helper flow on right away by toggling the ON/OFF button located to the left of the helper flow's name. As the image below demonstrates, every help flow should be toggled ON.
Warning: Do NOT turn on the scheduled Main Flow at this time.
Connect Workflows
12) Open the Push List to Pendo Metadata Endpoint SubFlow.
13) In the Branching card, select the Pendo connection at the top of each Connector's card (1,2). There is a note to next Connector card directing you to select your Pendo connection. The name will be the nickname you provided in Step 2.
14) Click the workflow titled, "Main - Read Okta Users to Table Nightly and Sync to Pendo".
15) Navigate to the List Users with Filter card. In the Shared Connections field select the Pendo Okta Workflow application you've created previously. If this option isn't available, select New connection and then select your Okta connection (the name for it will be the nickname you provided in Step 7 above).
16) In the second List Users with Filter card (1), select your Okta Connection as the Shared Connection.
Warning: Running a test will create users and/or metadata fields in your Pendo subscription. Do not run a test until you have configured the metadata fields you would like to populate. If you have configured the metadata fields you would like to populate, you may now test the workflow using the "Test"(1) button shown below.
Configuring Custom Metadata Field
17) To identify what fields are available in Okta, run a test on only the second "List Users with Filter" card. You can do this using the Play button at the bottom of the card, then clicking Test.
18) In the resulting Raw Output box, there is a field called profile. The fields inside the profile object are your available Okta fields that can be pushed to Pendo. Make note of which fields you would like to import from here, paying close attention to the case.
19) Add each field you noted on step 18 to the bottom of the Selected Values list in the Object Get card.
20) Drag the fields you have added from the Object Get card to the Object Construct card.
Note: 4 fields have been pre-filled for you. If you do not want any of these default fields, hover over them to see a small x button. They must be removed from both the Get and the Construct card to be removed entirely.
21) In the Call Flow card, ensure that email is inputted into the Visitor ID Key. The key passed into this field will be passed into Pendo as the Visitor ID, rather than as a metadata field.
Note: If you use a field other than email to identify your users in Pendo, correct this value to match that field's name.
OPTIONAL: To create users in Pendo who exist in Okta but have not installed the Pendo extension, click the Create Non-existing User dropdown in the Call Flow card and select True. When True is selected, Okta will add the the visitor into Pendo if the user doesn't already exist as a visitor in the Subscription. The newly created visitor's metadata will then be visible in the Visitor's Agent block.
22) You may now execute the “Test” run in order to push metadata into Pendo. This test run may take several minutes to execute, depending on the volume of users in your system. If you wish to test with a limited subset, you may do so by adding input filter values to the first List Users with Filter card. If given the option, turn on Save all data that passes through the Flow. More information on this can be found in the Okta documentation here.
23) The metadata fields you've configured in Okta appear in the Metadata tab of Pendo Adopt (Settings > Metadata). Set the Type for each metadata field. For example, okta_id will want its Type set to Text.
Tip: It may take 15 minutes after your first test execution completes for new fields to populate.
Note: Each metadata field you've configured in Okta will have an okta prefix so it's easily identifiable. Rename these fields however you desire. Once each metadata field has been given the correct Type, the segment builder will be able to apply additional rules specific to the metadata. For example, if you select okta_created in the segment builder you can then filter by before, since, between, within last, or not within last.
Set Scheduled Flow
24) Navigate to the main flow titled, "Main - Read Okta Users to Table Nightly and Sync to Pendo".
25) Click the clock icon on the Scheduled Flow card.
26) Configure how often you want the flow to run. Pendo recommends configuring the flow to run once per day and during the night when segmentation isn't changing. The flow is defaulted to running at 1:45 AM EST. Pendo recommends running the flow at most once per day. Running more often may result in overlapping flow executions, which could have unexpected results. Proceed at your own risk.
27) For the final step of this process, turn the scheduled timer on. If you've clicked Test before, it might already be on.
FAQ
The Format Value for User Object helper flow is ran thousands of times, does this mean it is making thousands of API calls?
No, this helper flow does not run any API calls. This number is a multiple of your users and their custom metadata fields. For example, if you have 70 users and 10 fields, this helper flow will run 700 times. Depending on the number of users you have, and the amount of field you've configured, this number will change.