Higher Logic has created a Webhook to allow 3rd parties to collect community activities from a Higher Logic Thrive Community (Thrive Community) site, using the Activity Sync module. There are currently ~300 different activities that are tracked in a Thrive Community, and these activities can be used in other systems by taking advantage of this Webhook. These requests can be sent in either JSON (default) or XML, and can include any number of fixed request headers.
Once a 3rd party has created an endpoint to accept these activities, they can easily be configured in Thrive Community as an Activity Sync Endpoint.
Activity Post
Each community activity sent via the POST to your endpoint will be a single post entry.
Each activity can have different fields included in the post. Fields of interest include:
- ActivityCode - a code to define this specific activity.
- ActivityDate - the date time when the activity happened.
- ActivityDescription - a short description of what the activity was.
- ContributorKey - the ID in Higher Logic of the user who did this activity.
- ContributorMemberKey - the ID in a related database of the user who did this activity (also referred to as the LegacyContactKey).
- LinkUrl - a link to where the related object can be found More information about the different activities that are written back can be found on Higher Logic’s Support Site.
NOTE: Some activity-type specific fields will be sent that can’t be identified because they are prepended with “pb_”. These are “Property Bag” properties that are meant to hold related information. These are generally ignored since they can’t be normalized and are for informational purposes only.
Authentication/Authorization
Given the high volume of activities that can be generated, Higher Logic cannot support any dynamic authentication. Higher Logic supports security through fixed request header(s), which you should couple with limiting accepted requests to those coming from Higher Logic’s outbound gateway (184.72.108.89).
NOTE: This IP restriction might need to be temporarily disabled during implementation.
Higher Logic setup
Set up of a Webhook to receive Community Activities requires the purchase of Higher Logic’s Activity Sync module. In the Community Admin, under Activity Sync, Manage Endpoints, a new endpoint will need to be created: Webhook Activity Post.
- Access the Admin interface.
- Navigate to Settings > External Content > Activity Sync.
- Click Create.
Here you can add:
- A name for this endpoint instance of Activity Sync
- Choose which activities are included (this can be changed later)
- The URL to POST the activities
- If you want to send the results in XML format (if this is set to No, JSON is used by default).
If additional headers are needed in post, these are included in the WebhookActivitySynchHeaders Community Configuration Parameter (must be configured by HL Staff). Their format is:
- Header1:Value1|Header2:Value2
Testing
You can test webhooks and other types of HTTP requests at http://www.webhook.site/. A unique URL will be created to test against. Higher Logic can setup an instance that points here so that you can see sample posts from related activities.