Skip to main content

Webhook / API Call

Required Permission
Workflow - You must have the Workflow permission to access this setting.

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

  1. Select Webhook / API Call as the action type
  2. Enter the URL to call
  3. Select the HTTP Method (POST or GET)

HTTP Methods

MethodDescriptionUse Case
POSTSend data to the external systemCreating records, triggering actions
GETRequest data or trigger an actionSimple 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:

  1. Create a Zap with "Webhooks by Zapier" trigger
  2. Choose "Catch Hook"
  3. Copy the webhook URL
  4. Paste into workflow action
Zapier Integration

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:

  1. Create scenario with Webhook module
  2. Get the webhook URL
  3. Use in workflow action

Custom APIs

For your own systems:

  1. Create an endpoint to receive webhook
  2. Parse the JSON payload
  3. Process the data as needed
  4. 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

  1. Use a testing endpoint first
  2. Verify payload format
  3. Check all required fields
  4. 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