Leveraging webhooks, APIs and integrations

In our final class we’re exploring how you can automatically send and receive data at scale.

Class 10: Integration and Automation

Up to now, this series of articles has focused on the traditional model of a user, sat at a computer (or using a mobile device) doing the work of creating online surveys, sending them out, and doing reports. However, organizations with large-scale and complex requirements can build bespoke integrations with SmartSurvey by using the API and Webhooks.

In most circumstances, making use of these functions requires having access to an IT department or developer to write the code that’s required to make the integrations work but the return on investment can be huge, as integrated processes take over from manual work.


Webhooks post survey responses to an “endpoint” whenever a respondent completes a survey, updates their responses, or is disqualified from a survey. The endpoint is basically a web address that is set up to receive information and process it when the webhook posts the survey response to it.

Once set up, it’s essentially a passive, one-way process, sending data from the survey to the endpoint, though even then it gives some powerful capabilities such as updating invoicing software with new orders, adding contacts to CRM systems, and Integrating fault reporting systems with task management.


The API complements the functionality of webhooks by letting developers access SmartSurvey functionality remotely. Where webhooks work as a passive, one-way flow, APIs work by allowing sites to communicate with each other via requests and responses. This means that the achievable integrations can be much more complex.

For instance, above we mentioned how a webhook could be used to take information gathered via a SmartSurvey form or survey and added to a CRM database. The API allows information to flow in the other direction, so an integrated system could create a contact list and add users to it.

The functionality isn’t just restricted to contact lists. It’s possible, via API requests, to create, delete or copy surveys, create new tracking links for your online survey, trigger and download exports, and more

Some Examples and Ideas:

A company with a storefront that sells a variety of products might decide they want to have a separate satisfaction survey for each product. Naturally, doing this manually would be a lot of work, but the API could be used to set up an integration where a new survey is created for each new product that is added to the storefront.

Another example would be direct integration of a company’s CRM database with one or more contact lists within SmartSurvey. By updating the contact list in real-time whenever the contact is updated with new information, an organization gets the confidence that the information in the contact list is up-to-date, and gets the secondary benefit that staff contact with personal data is minimized. Dealing with frequent uploads and downloads of CSV or excel files to update contact lists can be both time-consuming and risky. There’s always a chance of a staff member forgetting to delete a file from a personal machine after it’s been uploaded or some other error so it’s always beneficial to reduce manual handling as much as possible.

We’ve also heard from some clients that they use the API or webhooks to populate the data for custom visual dashboards displayed in apps such as Grafana. These visualizations are often used in workplaces to show continually-updated feedback statistics, or as part of data analysis presentations.


One thing that sometimes concerns users about integrations is the security aspect. This is not an issue as any information that’s transmitted via the API or webhooks is encrypted and so a high level of security is maintained at all times.


If you want to make use of integration and automation, but don’t have access to the kind of developer resource we spoke about at the start of the article, then another option is to make use of an additional app called Zapier. This acts as a kind of universal translator for app that have webhooks and/or APIs and does a lot of the hard work in making them talk to each other. You can build automation chains with a simple interface and no need for a high level of technical skill. It comes with its own costs, but it’s a good way of testing the waters for deeper, more involved integrations.

To Conclude

So, there we are. We hope that this series of articles has been helpful and informative. If there are any subjects we didn’t cover, or you would like to see more detail on, then let us know via the form below! It would be odd if a company based on the virtues of collecting feedback didn’t practice what it preaches.