NOTE: View the New Admin Experience version of this article.
Your Higher Logic Thrive Community (Thrive Community) site is one of the primary ways your constituents engage with your organization, and their user profile should be the centerpiece of their online experience and identity: It should be the main place they visit to see the contributions, history, and activities that represent their member or customer journey.
Each user's profile Summary page lists the activities the user has performed on your Thrive Community site (e.g., wrote a blog, replied to a Discussion). The External Activities functionality adds to this by allowing you to also include activities that the user completes outside your Thrive Community, such as:
- courses taken in an LMS,
- events attended where registration was through a third-party system, and
- journal articles published via a journal publishing system.
This functionality requires a product license and passing the information via the Higher Logic API.
You can configure these external activities (on the External Activity Types page in the Admin interface) to show on users' profiles, thereby creating a snapshot that includes more of a user's participation within your organization.
This data can also be leveraged via Automation Rules to, for example: award badges, send email messages, and add users to communities. Additionally, the data can be passed to other systems through another Higher Logic module, Activity Sync, allowing you to forward your data to your integrated AMS/CRM or other systems with which you may not be integrated.
How it works
The remainder of this guide details the configuration and use of the Higher Logic External Activity API Integration methodology. The first step is defining one or more external activity types within the Higher Logic platform. Each type will have an activity name, unique keys, point values, and the various date, text, and number fields that will be associated with an activity created within the Higher Logic platform. These configurations are unique to each customer.
Once an activity type has been defined, it can be referenced in API calls to send these activities to your Thrive Community. For example, if an activity took place in an online voting platform, an external activity could be created for the VOTING type, with the name of the ballot stored in one of the text fields and when the vote was cast in a date-time field.
Set up External Activity Types
Your Thrive Community site can accept a variety of activities from external systems. Before passing external activities to Higher Logic via the API, you must define external activity types in your Thrive Community site.
To define external activity types:
- Click Admin (gear icon) in the Webmaster Links menu.
- Click Admin.
- Select External Activity Types from the Tools menu.
- The resulting page lists any external activities that have already been created. To add a new one, click Add.
- Use the following table to provide details about the activity that will be written to Higher Logic.
Activity fields options
Field | Description |
---|---|
Name | Name of the external activity type. This field is required. |
Plural Name | The plural form of this external activity type’s name (e.g., the plural of "Blog" is "Blogs." It will appear as the list heading on the user profile's My Contributions > Summary page. This field is required. |
Description | A description of what this activity represents. |
Engagement Points Contribution Points Reputation Points Volunteer Points |
Higher Logic tracks several types of points for each user. Users who have this external activity type added to their profile will receive the number of points defined in each of these point types. |
Legacy Key | A reference key that will be used to insert this external activity type via the Higher Logic API. Vendors may use the same Legacy Key across customers to keep their integration standard. This field is required. |
Show in Summary | Controls whether this type is shown on a user's My Contributions > Summary page on their profile. For example, registering for a course might not be something that you want show on a profile, but finishing a course is. If an external activity type is not shown in the summary, it can still be used in Automation Rules. |
Include in Activity Sync | Controls whether this external activity type is written with the other activities written to your AMS/CRM.
This option is only applicable if you license the Activity Sync module. Also, note that Activity Sync is only supported with certain AMS/CRM platforms. Refer to the Activity Sync page to see which platforms are supported. |
Active | Controls whether this external activity type is Active. Activities that are not active cannot be inserted via the API, will not show on a profile, and cannot be used in Automation Rules. |
After this information has been specified and the record saved, you can click the Add button at the bottom of the page to add Additional Display Data, including three each of the following data types in the Data Type field.
- Dates
- Numbers
- Text
Additional details options
Field | Description |
---|---|
Name | Describe what this field will hold. This field is required. |
Data Type | The data field that this information should be stored in: Date 1, Date 2, Date 3, Number 1, Number 2, Number 3, Text 1, Text 2, Text 3. This field is required. |
List Position | Sets the column position in the table on the Summary page of a user's profile. |
Display Position | Sets the display position on the detail page from the Summary page of a user's profile. |
Code | An optional code that can be added. This can map to a value in the external system. |
Now the activity type can be used in API calls to add these external activities to users' profiles.
NOTE: If a vendor develops a standard set of External Activity Types, a script can be created to set them up, rather than you having to manually create them. The vendor should contact the Director of Partnerships at Higher Logic for more information.
Calling the External Activity API
The Higher Logic API has a variety of methods that allow other applications to interface with community data and functionality.
Information about the full API is outside the scope of this guide. To learn more about other methods and authentication, see Higher Logic API.
To access the API, a vendor will need an IAM Key and password. These can be created at the top of the External Activity Types page. If you would like to have different IAM Keys associated with different vendors, create a case with Higher Logic Support.
NOTE: Be careful with IAM Keys and Passwords because they can give access to your community data to anyone who has them. Keep these credentials private and only share them securely.
The External Activity methods in the Higher Logic API allow external activities to be created, updated, and deleted.
- To create an external activity, use the method provided at the Higher Logic API ExternalActivity/Create page.
Unless required, fields do not have to be included in the call.
After an external activity has been created, use the LegacyActivityKey or ExternalActivityKey (returned when the Create method is called) to make use of the Update and Delete methods.
You don't have to update an external activity after it's been created, but if you do, be sure to resend the full details of the activity, even if they aren't being changed by the update. Omitted values will be set to null.
Frequently Asked Questions
What is the difference in the three "types" options of the Data Types field for Additional Display Data? Couldn't I just put the information in Text fields?
Dates and numbers can be stored in Text fields and will display correctly on the profile. However, Automation Rules allows for comparisons to be done on these data, with numbers being calculated as being greater than or less than and dates being used to calculate number of days.
The current queries for External Activities are:
- 'has a specified type of activity that was added within the past specified number of days'
- 'has a specified type of activity with a title that contains the specified text that was added within the past specified number of days'
- 'has a specified type of activity with a description that contains the specified text that was added within the past specified number of days'
- 'has a specified type of activity with a Date1 within the last specified number of days that was added within the past specified number of days'
- 'has a specified type of activity with a Date2 within the last specified number of days that was added within the past specified number of days'
- 'has a specified type of activity with a Date3 within the last specified number of days that was added within the past specified number of days'
- 'has a specified type of activity with a Number1 greater than the specified value that was added within the past specified number of days'
- 'has a specified type of activity with a Number2 greater than the specified value that was added within the past specified number of days'
- 'has a specified type of activity with a Number3 greater than the specified value that was added within the past specified number of days'
- 'has a specified type of activity with a Number1 less than the specified value that was added within the past specified number of days'
- 'has a specified type of activity with a Number2 less than the specified value that was added within the past specified number of days'
- 'has a specified type of activity with a Number3 less than the specified value that was added within the past specified number of days'
- 'has a specified type of activity with a Number1 equal to the specified value that was added within the past specified number of days'
- 'has a specified type of activity with a Number2 equal to the specified value that was added within the past specified number of days'
- 'has a specified type of activity with a Number3 equal to the specified value that was added within the past specified number of days'
- 'has a specified type of activity with a Text1 that contains the specified text that was added within the past specified number of days'
- 'has a specified type of activity with a Text2 that contains the specified text that was added within the past specified number of days'
- 'has a specified type of activity with a Text3 that contains the specified text that was added within the past specified number of days'