--- title: How to set up a webhook description: Learn how to set up a webhook 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 url: https://theirstack.com/en/docs/webhooks/how-to-set-up-a-webhook --- [Webhooks](https://www.youtube.com/watch?v=gbd8IMgL-Rw) ## Setting up webhooks manually Follow these steps to set up a [webhook](/en/docs/webhooks): 1. **Open a new [job search](/en/docs/app/job-search) or [company search](/en/docs/app/company-search) with the criteria you are interested in.** [New job search](https://app.theirstack.com/search/jobs/new) [New company search](https://app.theirstack.com/search/companies/new) 2. **Click on the "Save" button to save the search.** The search has to be saved to be used in the webhook. 3. **Click on the "Webhooks" button on the top right corner.** 4. **Click on the "Create Webhook" button.** 5. **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**: Choose which events to include based on when they occurred. - **From now on**: Only events that occur after you create the webhook will trigger notifications. - **All time**: You'll get both historical events (that already occurred and match your search) plus all future events. - **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. - **Signing Secret** (optional): A secret used to sign webhook payloads with HMAC-SHA256. When set, each delivery includes an `X-TheirStack-Signature-256` header that your endpoint can use to [verify the payload authenticity](/en/docs/webhooks/verify-webhook-signatures). Minimum 16 characters — you can generate one automatically or provide your own. 6. **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. ## Setting up webhooks programmatically You can manage programmatically your webhooks by using the [Webhooks API](/en/docs/api-reference/webhooks/get_webhooks_v0). This is specially useful if you want to integrate webhooks with your own application. ## FAQs #### Will I receive duplicate notifications for the same job or company? No, you won't receive duplicate notifications. Our webhooks intelligently track what they've already sent you, so you only get fresh, new results. Each job or company is only notified about once, even if it matches your search criteria multiple times. #### How often do webhooks trigger? Webhooks trigger in real-time as soon as new results match your search criteria. There's no delay or batching - you'll get notified immediately when relevant events occur.