Webhooks are a way for external systems and applications to send data directly into your Tines workflows. This article covers how to create, test, and access data from a webhook in Tines.
Read the Introduction to Webhooks article for more information.
Creating your first webhook
Step 1: Add a webhook action
In your Tines story, add a new Webhook action. This action will be the entry point for external data.
Step 2: Configure the webhook
Key configuration options include:
HTTP Methods: Choose which HTTP verbs to accept (GET, POST, PUT, DELETE, etc.)
Authentication: Optionally require secrets, tokens, or basic auth to secure your webhook
CORS Settings: Configure cross-origin resource sharing if needed for browser-based requests
Rate Limiting: Protect your webhook from excessive requests
Response Configuration: Customize what the webhook returns to the caller
Read our best practice on configuring your webhook names and paths here.
Step 3: Get your webhook URL
Once created, Tines generates a unique URL for your webhook. You'll find this in the action details. The URL looks like:
Important: Never guess or manually construct webhook URLs—always copy the exact URL from the action details.
Step 4: Share the URL
Provide this URL to the external system that needs to send data to Tines. Configure that system to send HTTP requests to your webhook URL when events occur.
Testing your webhook
The best way to test a webhook is to simulate an external call from within Tines:
Create an HTTP Request action in the same story (or a test story)
Set the URL to your webhook's URL (copied from the webhook action details)
Configure the payload to match what you expect from the real external system
Run the HTTP Request action to simulate the external call
Inspect the webhook's events to verify it received and processed the data correctly
Trace downstream actions to ensure your workflow behaves as expected
This approach keeps your testing entirely within Tines and gives you full control over test data.
Accessing Webhook Data
When a webhook receives a request, the data is available in the event it creates:
Body:
webhook_action.bodycontains the request payload (JSON, form data, etc.)Headers:
webhook_action.headerscontains HTTP headersQuery Parameters:
webhook_action.query_parameterscontains URL parametersMethod:
webhook_action.methodshows the HTTP verb usedPath:
webhook_action.pathshows the request path
Use Tines formulas to extract and transform this data in downstream actions:
<<webhook_action.body.alert_name>>
<<webhook_action.headers.x-api-key>>
<<webhook_action.query_parameters.user_id>>
Read more on webhooks in our docs here.