Zapier integrations using Polled Data Files

Overview

Zapier is a middleware integrations platform that can be used to connect two different systems that do not have a native integration for each other.

For instance, if LearningBuilder can push data into Zapier, and ACME Service can pull data out of Zapier, then ACME Service can use Zapier to integrate with LearningBuilder, even if no 1st class integration exists.

Zapier supports two types of integrations: “polling” and “webhooks”.

At this time, LearningBuilder only supports polling-style integrations with Zapier.

For an example integration, see https://heuristicsolutions.atlassian.net/wiki/spaces/DOCS/pages/3209560080

1. Create the Polled Data File that Zapier will connect to

The Zapier integration works by polling LearningBuilder for a data file. That data file is managed by a Polled Data File.

See https://heuristicsolutions.atlassian.net/wiki/spaces/DOCS/pages/3077799937 for instructions on creating the data file and an API Key that has permission to access it.

2. Create a new Integration in Zapier

The Zapier “integration” is the connection between Zapier and a specific LearningBuilder instance. It is what notifies Zapier of changes that occur in LearningBuilder. These are configured at https://developer.zapier.com

This must be configured by a LearningBuilder Sysadmin.

2.1 Configure Authentication

Zapier will access the Polled Data Files feature using the custom “apikey” Authorization scheme.

Step

Step

1

Configure Authentication using “API Keys”

The Key should be “apikey”

 

2

Configure a Test Request to validate the credentials

The endpoint should be “https://<your-lb-host>/API/PolledDataFile/AuthCheck”.

3

Test the connection

Finally, create a connection in Zapier to test the authentication. When prompted, paste an API Key from My Account → API Keys.

2.2 Configure a Trigger

Triggers read data from the polled data file and begin a Zapier workflow. These are the “events” that a “Zap” will be configured to respond to.

As an example, consider a Polled Data File that contains one row for each user login in the last 24 hours. The Zapier trigger might look like this:

Step

Step

1

Trigger Settings

Describe the trigger.

2

Input Designer

There are no user-entered values for this sort of integration.

3

API Configuration

In the “API Configuration” tab, configure how Zapier will connect to the Polled Data File.

  • The API Endpoint is <LBHOST>/API/PolledDataFile/Get/<ProcedureName>

  • By default, the API Key will be added as a URL Param. Delete it.

  • Configure an HTTP Header with name Authorization and value apikey {{bundle.authData.apikey}} (Same format as in the auth test endpoint in the above step)

 

4

Test the API Request

If everything is set up correctly, you should be able to test the API call and see a sample of the response data.

5

Define the output schema

You need to tell Zapier about the format of the returned data, so that those fields are available to users that configure Zaps against this integration.

 

2.3 Invite someone to use your integration

Officially “publishing” an Integration in Zapier, so that it is publicly accessible and searchable from the Zapier interface, is an involved process. When being used for custom integration purposes, it may be simpler to keep the integration private and “invite” the expected users.

Step

Step

1

Configure sharing options

In the sidebar of the Zapier developer interface, choose “Sharing” and then either invite people directly, or send them the sharing link.

2

Configure a Zap using the Integration

The recipients of the invitation can then configure a Zap that responds to the Trigger(s) you configured on the integration.