Webhook / API Call
The Webhook action calls external systems and APIs when the workflow executes. Use this to integrate with third-party services, trigger external automations, or sync data to other platforms.
Configuration
- Select Webhook / API Call as the action type
- Enter the URL to call
- Select the HTTP Method (POST or GET)
HTTP Methods
| Method | Description | Use Case |
|---|---|---|
| POST | Send data to the external system | Creating records, triggering actions |
| GET | Request data or trigger an action | Simple triggers, fetching information |
POST Requests
POST sends record data to the external system:
- Includes record ID and key fields
- Data sent as JSON payload
- Most common for integrations
GET Requests
GET triggers the URL without sending data:
- URL can include query parameters
- Simpler but less data transfer
- Good for simple triggers
URL Configuration
Static URL
Enter a fixed URL:
https://api.example.com/webhook/new-lead
URL with Parameters
Include query parameters as needed:
https://api.example.com/webhook?source=workflow&event=created
Request Payload
For POST requests, the workflow automatically sends:
{
"recordId": "abc123",
"objectType": "contact",
"fields": {
"name": "John Smith",
"email": "[email protected]",
"company": "Acme Corp",
"soldAmount": 50000
},
"workflow": {
"id": "wf123",
"name": "New Lead Processing"
},
"timestamp": "2025-01-15T10:30:00Z"
}
Use Cases
Sync to External CRM
Send new contacts to another system:
Configuration:
URL: https://api.othercrm.com/contacts Method: POST
Trigger Zapier Automation
Connect to Zapier for complex integrations:
Configuration:
URL: https://hooks.zapier.com/hooks/catch/123456/abcdef Method: POST
Log to Analytics
Send events to analytics platform:
Configuration:
URL: https://analytics.example.com/events/sale Method: POST
Notify External Service
Trigger notifications in external tools:
Configuration:
URL: https://hooks.slack.com/services/T00000/B00000/XXXX Method: POST
Custom Application Integration
Connect to your own internal systems:
Configuration:
URL: https://internal.company.com/api/projects Method: POST
Example Workflow
Multi-system sync on contract signing:
Response Handling
Success Response
When the external system returns success (HTTP 2xx):
- Action is marked as completed
- Workflow continues to next step
- Response logged for reference
Error Response
When the external system returns an error (HTTP 4xx, 5xx):
- Action is marked as failed
- Error details logged in execution history
- Workflow may continue or stop (depends on configuration)
Timeout
If the external system doesn't respond:
- Default timeout of 30 seconds
- Action marked as failed after timeout
- Consider retry logic in external system
Security Considerations
HTTPS Required
Always use HTTPS URLs:
- Encrypts data in transit
- Protects sensitive information
- Required for production use
Authentication
If the external system requires authentication:
- Include API key in URL parameters
- Or configure the endpoint to accept your IP
- Consider using middleware service
Example with API key:
https://api.example.com/webhook?api_key=your-secret-key
Sensitive Data
Be aware of what data is sent:
- Record fields are included in payload
- Avoid sending passwords or secrets
- Consider data privacy requirements
Integration Platforms
Zapier
Use Zapier to connect to 5,000+ apps:
- Create a Zap with "Webhooks by Zapier" trigger
- Choose "Catch Hook"
- Copy the webhook URL
- Paste into workflow action
For complex integrations, consider using the Zapier integration which provides a user-friendly interface for connecting to 5,000+ apps.
Make (Integromat)
Similar process for Make:
- Create scenario with Webhook module
- Get the webhook URL
- Use in workflow action
Custom APIs
For your own systems:
- Create an endpoint to receive webhook
- Parse the JSON payload
- Process the data as needed
- Return appropriate HTTP status
Troubleshooting
Webhook Not Firing
- Verify URL is correct
- Check workflow reached the action
- Review execution history for errors
- Test URL manually
Connection Error
- Verify URL is accessible
- Check firewall/network settings
- Ensure HTTPS is configured
- Test from same network if possible
Authentication Failed
- Verify API key or credentials
- Check URL parameters
- Confirm external system configuration
- Review external system logs
Data Not Received
- Check external system logs
- Verify endpoint is configured correctly
- Test with simple endpoint first
- Review payload format expected
Timeout Issues
- External system may be slow
- Optimize endpoint performance
- Consider async processing
- Add retry logic if needed
Best Practices
Test Before Production
- Use a testing endpoint first
- Verify payload format
- Check all required fields
- Test error scenarios
Monitor Webhook Health
- Review execution history regularly
- Set up alerts for failures
- Monitor external system logs
- Track response times
Document Integrations
- Record webhook purposes
- Document expected payloads
- Note authentication methods
- Keep contact info for external systems
Handle Failures Gracefully
- External systems can be unavailable
- Plan for retry logic
- Consider fallback actions
- Monitor and alert on failures
Next Steps
- Execution History - Monitor webhook calls
- Conditions - Add logic before webhooks