Webhooks
Learn how to use webhooks to get notified when events occur (new jobs, tech changes, etc) in TheirStack and trigger actions in your external systems like N8N, Zapier, Make, Airtable, etc
What are webhooks?
Webhooks allow you to send data when specific events occur (new jobs, tech changes, etc) to external systems like N8N, Zapier, Make, Airtable, your own webhook endpoint, etc.
For instance, you can configure a webhook to alert you when a new job is listed in a particular location, company, or technology sector.
Webhooks are dependent on a search, which defines the criteria for triggering the webhook. Any type of searches (job, company, technology, etc) can be used to trigger a webhook.
Webhooks Applications
- Initiate a workflow in an automation tool like Zapier, Make, N8N when a new job is posted or a company adopts a new technology (e.g., Snowflake, Hubspot, Python).
- Send a Slack notification to your team when a new job is found or a company adopts a new technology (e.g., Snowflake, Hubspot, Python).
- Automatically update a Google Sheet with new job or company data.
- Trigger an email alert to a specific distribution list when a new job matches certain criteria.
- Create a table in Airtable to store job listings.
- Integrate with a CRM system to add new company information as leads.
Webhook types
There are three types of webhooks:
job.new
: Triggered when a new job is discovered by TheirsStack matching the search criteria.company.new
: Triggered when a new company is discovered by TheirsStack matching the search criteria.tech.new
: Triggered when company adopts a new technology (request access to this)
How to set up a webhook
Follow these steps to set up a webhook:
Click on the "Save" button to save the search.
The search has to be saved to be used in the webhook.
Click on the "Webhooks" button on the top right corner.
Click on the "Create Webhook" button.
Fill the form
-
Saved search
: This search's filters determine which records will trigger the webhook. -
Trigger once per company
: When enabled, the webhook will fire only once for each company. This is helpful for sales workflows where you want to act on the first job posted (e.g., send an email, add to a CRM) without triggering the workflow for every subsequent job from the same company. Eg: If active, Company A with 5 jobs → 1 event triggered. If deactivated, Company A with 5 jobs → 5 events triggered. -
Choose where to start
: You can choose whether to start listening from this point forward or from the start of the search. If you choose to start from the start of the search, you will receive all events that have occurred since the search was created. -
Webhook URL
: The URL of the webhook endpoint you want to send the data to. You can click on "Send test event" to send a sample of the data to your webhook URL and verify that it is working.
Wait for new events to be triggered
- If you choose to start from the start of the search, you will receive all events that have occurred since the search was created in a few seconds. If you choose to start from the current date, you will receive events in real time.
- You can click on the button "Send test event" to send a sample of the data to your webhook URL and verify that it is working.
How to monitor webhook usage
You can monitor webhook usage in the Usage page.
You can break down the usage by event status or webhook.
Webhooks API
You can manage programmatically your webhooks by using the Webhooks API. This is specially useful if you want to integrate webhooks with your own application.
Your own webhook endpoint
If you are builing your own webhook endpoint, please take into account the following:
- Return a 200 status code to indicate that the webhook event was received and processed successfully. Failed webhook events are retried every hour for 48 hours.
- Your webhook endpoint has to be prepared to handle at least 2 concurrent requests.
- Your webhook endpoint has to be prepared to handle duplicates. Our system is designed to not send the same job twice to your webhook URL. However, this could happen in some edge cases (e.g: you listen to two searches with not exclusive jobs).
- When a webhook sends data, it uses an HTTP POST request, with a JSON payload. per
Faqs
How is this guide?
Last updated on