Did you know that you can create enrollment automations for Arist courses based off of activity in other systems? This guide will walk you through setting up a course automation using Zapier or via API.
Setting Up Automations With Zapier
What is this for?
We can use Zapier to hook up data or activity in other software to Arist to trigger enrollments in SMS, Whatsapp, or Email courses (Does not apply to Teams or Slack... yet.)
Example use cases:
Your learners fill out a Qualtrics Survey or Google form. Then that data and action triggers an enrollment.
Some action happens in one of your external systems that Zapier connects to, like Salesforce, and the data hits our API enrollment endpoint to trigger an enrollment.
Steps to set this automation up:
Log into your Zapier account.
You can copy and use this template in Zapier: https://zapier.com/shared/f3db2dbc8a5e3b7afaad55f41f837b314032b72b
Choose the Trigger
If the Software you are using to trigger an enrollment is owned by the you, then you will need to login and connect your software to Zapier if you haven't already.
Take an example action and validate the action provides the data needed to trigger an Arist course.
Create the Arist Action with a webhook setup
Set up your course schedule for which you want to trigger enrollments.
Then fill out the distribution ID and org ID accordingly (which you can grab from your Arist dashboard). Copying the link from the schedule you want will give you the ID which should look like this:
https://arist.app/orgs/[YOUR-ORG]/courses/43ba9df7-b716-40c1-b065-860954d13f89 <- DISTRIBUTION ID
Your org ID can be found in your Arist Dashboard under Settings > Organization
Add in fields for data that is being collected in the form or from the software activity (reference the API guide below to do so).
Add the API key
Test the automation: it’s successful if the test trigger activity creates the enrollment!
API Endpoint Guide
To make a SMS or WhatsApp enrollment via the Arist API several things are required:
You will need to POST the
organization_id
,api_key
,distribution_id
, the user’saddress_value
, and the user’saddress_type
to the Arist API endpointOptional params:
delivery_time
,timezone
,country_code
,first_name
,last_name
,email
the Arist API will return the created
enrollment_id
upon success, and the user will get the activation message
Example:
curl -X POST \\
-H "Content-Type: application/json" \\
-d '{
"organization_id": "UUID_here",
"api_key": "UUID_here",
"distribution_id": "UUID_here",
"address_value": "1234567890_example",
"address_type": "sms",
"delivery_time": **"**2023-07-31 17:52:58 UTC**"**,
"timezone": "Eastern Time (US & Canada)",
"first_name": "Bruce",
"last_name": "Wayne",
"email": "bruce.wayne@email.com"
}' \\
<https://arist.app/ext_api/v1/enrollments/create>
Details:
API endpoint:
https://arist.app/ext_api/v1/enrollments/create
Required params:
organization_id
(required) - Arist will provide this idapi_key
(required)- Arist will provide this keydistribution_id
(required) - the specific distribution for the course you want to enroll the user in (NOT the course_id)address_value
(required) - the SMS/WA phone number or email address where you want to send the courseaddress_type
(required) - specify what type of address theaddress_value
field contains, eg:sms
sms_whatsapp
email
Optional params:
delivery_time
(optional) - string value datetime when the enrollment should be delivered. (We’ll convert the string to datetime.)**
"**2023-07-31 17:52:58 UTC**"**
timezone
(optional) - string value of the user’s timezone, will overwrite existing values for existing users, eg:"Eastern Time (US & Canada)"
"Pacific Time (US & Canada)"
"Central Time (US & Canada)"
country_code
(optional) - this is only for SMS/Whatsapp (i.e., phone numbers) and the default is1
if you don’t submit a valuefirst_name
(optional) - string value of the user’s first name, will overwrite existing values for existing userslast_name
(optional) - string value of the user’s last name, will overwrite existing values for existing usersemail
(optional) - string value of the user’s email (not a sending address), will overwrite existing values for existing users
Note: if you can locate the user or the address you will use the existing user and address. If the user or address is new, then you will create a new user and address.
Setting Up Automations Via API
You can trigger enrollments in courses or nudges to start by hitting our our API. We currently have a non-UI feature that allows Administrators to set up courses, or learning journeys to go out, based on activity triggers we recognize from within Arist (e.g. - course X completion) or from an outside system (e.g. - change in title.)
Examples of how this has been used by our customers:
Trigger from external system activity (no UI):
On our website, we set up a marketing automation where when someone puts in their phone number on our landing page, it calls our API and sends us the number, and we will automatically create their user and create an enrollment in a sample course. They get their course within minutes
For a For-Good customer using Arist for research, we set up an automation so that when employees submit a Qualtrics form, we create an enrollment for them in a course.
In order for external triggers to work, we have to have these systems “call” or contact our API. For the above two use cases, we used Zapier as an intermediary third-party that helps external systems “call” or connect to our API and trigger these enrollments. Zapier alone is pretty powerful for connecting general B2B software with Arist, but not so for HRIS and LMS systems.
Trigger from Internal Arist activity (no UI):
For Google Cloud, we set up a series of courses linked together so that when a learner completes Course 1, they go onto course 2, and so on. They have no admin control over this order once launched, or tracking from course to course (just regular analytics.) We’re doing this by recognizing when an enrollment is marked ‘complete’ and then that calls the same endpoint to start a new one.
It is important to note that this functionality is still considered to be in Beta and future improvements are coming. As it stands now, if you're interested in working with us to call this API endpoint, or use Zapier as an intermediary third-party for the integration, we can set an automation above but please note that you will have no UI to view or manage it once created (for now).