How to Automatically Collect Customer Testimonials [Tutorial]
Testimonials are an valuable asset for companies, as they reflect the experiences of customers who interacted with the offered products or services.
In these first-hand experiences companies can find validation of their products, or else valuable information to adjust their offerings to the taste and needs of users.
Furthermore, this feedback is often shared on peer-to-peer review websites, which helps other potential users make better decisions before purchasing a product or subscribing to a service.
Given the importance of testimonials, it’s not rare for companies to keep a close eye on them. Doing so allows them to:
Use positive testimonials in marketing (share them on social media, website, collateral)
Provide answers in a timely manner to the users who leave a testimonial
Surface issues related to product, customer support, user experience, and so on
On the other hand, keeping track of testimonials isn’t the most exciting thing to do. It’s a repetitive and time-consuming process, and these are the factors that make it prime for automation.
And this is exactly what we are going to do here. In this use case, we will show you how to use Make to:
Automatically monitor a review site
Add new testimonials to a little database (we’ll use Airtable for that)
Send a notification to Slack whenever there’s a new testimonial available
Since we want to keep things simple and affordable, we’ll show you how to track new Capterra testimonials, as this company offers a free API anyone can use.
In addition, we will add a bonus solution to automatically track and get notified for new Google My Business reviews.
Ready to get started? Let’s jump right in!
Tracking testimonials on Capterra: Solution overview
The following solution will monitor a company profile on Capterra (it can be any company and not just yours), and collect new testimonials from the site as these get published by users.
To do so, we will create an Make scenario that relies on the following modules:
HTTP > Make a request
Airtable > Search records
Airtable > Create a record
Tools > Text aggregator
Slack > Create a message
To do this, you will need accounts for Capterra, Make, Airtable, and Slack.
Bear in mind, you can skip the Slack part if you don’t want to be notified, or else replace this app for your preferred one, such as Microsoft Teams, or your email app.
Step 1: Creating the Make scenario and adding the HTTP app
In your Make dashboard, click the “Create a new scenario” button, which will take you directly to the scenario builder.
If you see this, you’re in the right place:
Like the arrow indicates, click on the blue circle to get started. In the search box that appears, type “HTTP” and select the app.
A list of modules will appear: These are the API endpoints available for this app. Choose the “Make a request” module for this case.
Capterra’s API documentation (here) provides the API endpoint that you need to use in the HTTP module. It also shows how to obtain your API key and the ID.
Keep in mind that there is no date range parameter for this endpoint so even if you only want the latest reviews, it will always output 50 at a time.
However, you don’t need to worry about this, as there’s a way to prevent duplication and only store new testimonials in Airtable. Stay tuned for that.
Okay, now you can then paste Capterra’s endpoint URL in the module and tick the parse response option. See the image below for reference:
Now we need to make the request so the output can be used in the next module (and also to ensure that the output is correct).
To do this, hit the “Run once” button on the bottom left of the builder. If it’s successful, the status code will be 200 in the output.
When the reviews are retrieved, they are outputted as an array containing a collection of testimonials.
This means that the array must be iterated first, so that each review can be sent to Airtable. Without iteration, only the first review will be added, and this isn’t what we need.
Fortunately, Make features an Iterator, which you can find in the Tools menu at the bottom of the scenario builder.
Add the iterator to the scenario and attach it to the side of the HTTP module.
In the iterator’s configuration box, all you need to do is map the data:reviews array element outputted by the HTTP module to the available field.
Step 2: Adding the first Airtable module
This is the point where Make adds new reviews to an Airtable table automatically.
We mentioned that Capterra’s endpoint retrieves 50 reviews at a time (including ones that aren’t).
To prevent duplications in your database, Make needs to search the table first to see if the review is already there. If it’s not, it will add it.
Note: If you are using another company’s API (such as G2’s), it may have the date parameter in the endpoint that you can edit, which means there will be no duplicates and you don’t need to add the next module shown below.
Okay, back to our scenario.
Next, we will add the Airtable app module that will perform the search function. When you hover over a module, a little plus sign at the right of the module appears (called “Add another module”). Click this on the iterator.
After you do this, search for Airtable and select the “Search records” module.
Your Airtable account needs to be connected to Make to continue further. You’ll notice an “Add” button in the configuration box: Click this to open the “Create a connection” box.
In there, give the connection a name of your choice and enter your API Token. If you don’t know where to find your Airtable API token, click the “?” and follow the instructions (it's easy don’t worry).
Once done, hit “Continue”.
When your account is connected, you can then choose the Airtable Base and Table that you want to use to store new testimonials.
Since we want Make to search the table and check if the reviews fetched from the HTTP module are already there, we need to find a unique identifier for each testimonial.
The best one is the testimonial’s URL, as it is unique and constitutes a great way to single out records.
The cool thing about the “Search records” module is that you can filter records using an Airtable formula, which is what we’ll do.
Use the formula below and map the URL element from the iterator in between the single quotes.
Then, scroll down in the module’s configuration until you find the “Limit” field.
The number you enter here is the maximum number of records that will be returned in the search. Set this to a high number like 50, or 100.
Once you do this, click “OK” and move on to the next step.
Step 3: Adding the second Airtable module
Now we need Make to add the reviews that weren’t found during the search into the table.
To do this, we will add the “Create a record” Airtable module. You can go ahead and add it to your scenario.
Once you select the same Base and Table, map the values you need from the iterator to the appropriate fields.
Your table will probably be different from the one in this example but it should be somewhat similar to what you see below.
There’s one more thing we need to do in order to complete the process of adding new testimonials to the table.
Make has a really useful tool called a Filter that will help us achieve the goal here.
So how does this filter work? Simple: When a review is not found on the table, the “Search records” module will output 0 bundles of data, and only then the outputted data will pass through the filter and get added to the table.
In other words, the filter will prevent duplicate testimonials from being included in the table.
To set up the filter, you will notice that there’s a route between the two Airtable modules. If you hover your cursor over the route you will see a little spanner: Click it to open up the filter’s configuration box (by the way, filters can be added on any route between modules).
To set up the filter, follow this steps:
Give it a name
Map the Total number of bundles element from the Search records module to the top field in the condition
In the dropdown menu, scroll down to the Numeric operators and select the Equal to option
Enter 0 in the bottom field
Step 4: Sending the Slack notification
Slack is a great way to notify a person or team whenever there are new testimonials available, so it fits perfectly in this scenario.
We understand that getting notified every time a new testimonial comes out could lead to multiple notifications being sent one after the other, which might not be ideal.
Again, Make can sort that issue out easily as well. The review data should be aggregated first so that it can be sent in a single message.
Turn your attention to the Tools menu one more time and select the Text Aggregator.
Choose the Iterator as the Source module.
Now you can map the review data from the “Create a record” Airtable module that you want to aggregate.
We only want to aggregate the links, so we need to map that element to the Text field.
Now, let’s open the advanced settings by ticking the corresponding box. You can choose the way you want to separate the rows of data.
Also, tick the “Stop processing after an empty aggregation” option.
Now for the final module in the scenario, the Slack > Create a message module.
Connecting your Slack account to Make is a little different than the Airtable connection.
When you hit Add, select user as a connection type.
Then you need to allow Make access to your workspace.
In the module’s configuration box you can select the Channel type that you want to send the message to.
Once you select the Channel type and the channel or user, enter the static text (optional) that you want to be displayed in the message, and then map the Text element from the Text aggregator.
We have included the Airtable link in the notification as well, for convenience.
Once done, hit “OK”, and move to the next step.
Step 5: Testing the scenario
Finally, we’re at the exciting part: Executing the scenario and checking out the automation at work.
You executed the scenario earlier by hitting the Run once button; do the same once more.
If everything is set up correctly, the automation should work as follows:
And that’s it!
This scenario will now monitor Capterra for new testimonials, add them to Airtable, and let you know whenever a new testimonial is available.
Set it up once, and you won’t have to scour the site for testimonials ever again!
Bonus: Tracking new Google My Business reviews
Tracking reviews on Google My Business is a lot easier with Make. In fact, we have an available template that you can use to:
Monitor new reviews
Automatically answer to the reviews depending on the score given to your product or service
It’s a simple, neat solution that will bring you close to customers, and allow you to provide instant, predetermined feedback to them.
Testimonials are valuable, but so is your time - and the trade-off is real.
Deploying this solution will allow you to get the best of both worlds: The testimonials that you need for your marketing and product improvement efforts, and the time you spend on gathering the data.
At the end of the day, this is what automation is all about - focusing on what matters the most, and leaving Make in charge of the repetitive.
If you are interested in exploring more about automation, we invite you to sign up to Make.