Overview
This article serves as a comprehensive guide for setting up automated point awards in AdvocateHub for user actions, utilizing Zapier's webhooks and custom requests. It details the process from creating a Zapier account and setting up the trigger to testing the webhook and completing the action, with a focus on posting and replying to topics in discussions.
Information
In this article, we will go through the steps required to automatically award points to an Advocate who contributes to your discussions.
Prerequisites: You will need to have a Zapier account in order to begin this process. The free Zapier account comes with 5 "Zaps" and 300 "tasks" (i.e. events) per month. So, if you expect to have more than 300 new advocates per month, you may have to pay for a premium account.
Additionally, the free plan only allows two step Zaps. This will suffice for a basic version of the setup below, but should you want to add additional steps or filters, you will need a paid account and I will highlight these below as we encounter them.
Posting A Topic
1. Go to Zapier, and click on Make a Zap!
2. Choose Webhook for the 'App' and select Catch Hook for the 'trigger'. At this point it should look like below:
3. Copy the webhook link present in the View Webhook section and then continue to Test this step and copy the webhook link
4. Now open up a new window/tab and navigate to your AdvocateHub's Webhook configuration page: Settings > System > Webhooks
5. Click on the Add a Webhook button:
6. Here you fill out the name of the webhook, the URL and the format. You also select the event you want this webhook to run on:
- Name - Is not important and you can call it whatever makes most sense for you
- Webhook Provider URL - This is the URL we retrieved from Zapier in point 3 above
- Format - Must be 'JSON'
- Event - In this case it will be 'Posted a topic'
- Type - Event
7. Staying in the hub, we want to create an event type. Go to Settings > Scoring & Achievements > Event Types and click "Add an Event Type"
8. Now we have to fill out some quick information. The most crucial thing below is the API Code, we will need this later on - it has to be in the format below ie. there can be no blank spaces, you need to use and underscore.
9. Now we are ready to test that the webhook is being caught so head back to Zapier and go to the 'Test this step' stage. Click 'OK, I did this' and quickly go back to your hub and post a test topic in your Discussions. If the webhook is working at this point you will see a screen like below:
Note: This next part of the article covers filter which are only available if you have a paid Zapier account. If you do not need filters because you intend to award points for all activity, you can skip to step 13.
10. To add a filter you need to click the small '+' sign and then select FIlter.
11. Go to the Edit Options. You will see 3 fields on the right-hand side. The first field is the data we want to select for our filter, in this case it is 'forum'. We want to have the text match exactly the name of our Forum in the AdvocateHub. In this example our forum is called 'Topic 1'.
12. On the Test this step section Zapier will give you an overview of when your Zap will succeed or fail.
13. The final part requires us to complete the action on our webhook. We want to select Webhooks here.
14. On the next step Custom Request we need to click 'show less common options'.
This will reveal an option called Custom Request which is the one we want.
15. Click continue to move on to the next Edit Template section. Here we will see a lot of fields that need to be filled. I will explain what information needs to go into which field below. I will ignore fields that do not affect us:
Field | Value |
---|---|
Method | POST |
URL | https://api.influitive.com/events |
Data | { "type": "post_topic", //use the API code from point 8 in this article "contact": { "email": "[advocate's email]" //use Zapier's insert field function here, you can find the button in the // top right of this field }, "points": 50 //amount of points you want award } |
Unflatten | Yes |
Headers |
Content-Type : application/json Accept: application/json X_ORG_ID : [ Insert X_ORG_ID token from hub ] Authorization: [ Insert API token from hub ] |
16. Finally we test the whole Zap, similarly to how we did it earlier. Click 'test' and quickly go back to the hub and post a topic we should get a message saying it has been successful. Now in the AdvocateHub, in the Activity Feed you should be able to see you Zap in action:
In Step 15 make sure to replace "type": "post_topic" with the API code you set for this zap, so it would likely be 'topic_reply' but it can be anything you choose.
FAQ
What are the prerequisites for setting up automated point awards in AdvocateHub using Zapier?
You need to have a Zapier account, and if you expect more than 300 new advocates per month, you should consider a premium account for additional tasks and multi-step Zaps.
How do I set up a trigger in Zapier for posting a topic in AdvocateHub?
In Zapier, choose 'Webhook' as the App and select 'Catch Hook' as the trigger, then copy the webhook URL from the 'View Webhook' section and test the step.
How can I test if the webhook is working correctly?
After setting up the webhook in Zapier and AdvocateHub, post a test topic in your hub's Discussions and complete the 'Test this step' stage in Zapier to see a confirmation screen.
What should I do if I want to include additional steps or filters in my Zap?
If you need additional steps or filters, you will need a paid Zapier account. You can add a filter by clicking the '+' sign in your Zap and setting up the criteria to match your forum's name in AdvocateHub exactly.
How do I complete the action for my webhook in Zapier?
Select 'Webhooks' in Zapier and configure the 'Custom Request' with the appropriate information, including the API code from earlier steps and the correct field values, then test the entire Zap to ensure it works.