Skip to content

Webhook In

Trigger Task - The entry point for your automation workflows

The Webhook In task is a trigger task that receives incoming data from external applications via HTTP POST requests. It creates a unique URL endpoint that external services can call to start your workflow.

When to Use

Use Webhook In when you need to:

  • Receive real-time data from external services
  • Trigger workflows based on external events
  • Create API endpoints for third-party integrations
  • Build custom webhooks for your applications

How It Works

sequenceDiagram
    participant External as External Service
    participant Webhook as Webhook In Task
    participant Workflow as Your Workflow

    External->>Webhook: POST request with data
    Webhook->>Workflow: Trigger workflow
    Workflow->>Workflow: Process data
    Workflow-->>External: Response (optional)

Quick Start

  1. Add a Webhook In task as the first task in your workflow
  2. Copy the Production URL from the task settings
  3. Configure your external service to send POST requests to this URL
  4. The webhook data will be available to all subsequent tasks

Task Settings

Task Name

Give your webhook a descriptive name that indicates its purpose.

Example: Customer Order Webhook, Lead Form Submission, Payment Notification

Webhook URLs

Every Webhook In task provides two URLs:

Test URL

https://api.basecloudglobal.com/webhook/test/6ceb34ab478cb8cd723568

Purpose: Development and testing environment

Use when:

  • Testing new integrations
  • Debugging workflow issues
  • Validating data structures
  • Experimenting with configurations

Production URL

https://api.basecloudglobal.com/webhook/live/6ceb34ab478cb8cd723568

Purpose: Live production traffic

Use when:

  • Integration is tested and working
  • Ready for real customer data
  • Production environment is stable

Important

Always test with the Test URL first. Only switch to Production URL when you're confident everything works correctly.

Response Settings

Configure how your webhook responds to the caller.

Response Type

Respond Immediately

Returns a quick acknowledgment, then processes the workflow in the background.

When to use:

  • Long-running workflows (> 30 seconds)
  • When the caller doesn't need workflow results
  • To prevent timeout issues

Response:

{
  "success": true,
  "message": "Workflow queued for processing"
}

Respond After Workflow Completes

Waits for all child tasks to finish, then returns the complete results.

When to use:

  • Caller needs confirmation of successful processing
  • Workflow completes quickly (< 30 seconds)
  • Need to return processed data to the caller

Response:

{
  "success": true,
  "workflow_completed": true,
  "data": {
    "task_results": "..."
  }
}

Custom Response Body

Customize the JSON response sent back to the caller.

Simple response:

{
  "success": true
}

Dynamic response with workflow data:

{
  "success": true,
  "processed_at": "{{$now}}",
  "customer_id": "{{task_46055_output.customer_id}}",
  "order_number": "{{task_46055_output.order_number}}"
}

Accessing Webhook Data

All data sent to your webhook is available in subsequent tasks.

Available Variables

Variable Description Example
{{task_46055_run}} Whether task executed successfully true
{{task_46055_run_text}} Status message "Inbound data received and processed successfully"
{{task_46055_test_date}} Test data sample "Some data"

Accessing POST Data

If the external service sends:

{
  "customer_name": "John Doe",
  "email": "john@example.com",
  "order_total": 150.00
}

Access it in later tasks:

{{task_46055_customer_name}}  → "John Doe"
{{task_46055_email}}          → "john@example.com"
{{task_46055_order_total}}    → 150.00

Real-World Examples

Example 1: E-commerce Order Processing

Workflow:

Webhook In → Create Customer → Send Confirmation Email → Update Inventory

Configuration:

  1. Webhook In Task
  2. Name: "Shopify Order Webhook"
  3. Response Type: Respond Immediately
  4. Custom Response: {"success": true, "order_queued": true}

  5. External Service (Shopify):

  6. Webhook URL: Production URL
  7. Event: Order Created
  8. Format: JSON

Example 2: Form Submission Handler

Workflow:

Webhook In → Validate Data → Add to CRM → Send Welcome Email

Configuration:

  1. Webhook In Task
  2. Name: "Contact Form Submission"
  3. Response Type: Respond After Completion
  4. Custom Response:
    {
      "success": true,
      "contact_id": "{{task_CREATE_CONTACT_output.id}}",
      "email_sent": "{{task_SEND_EMAIL_run}}"
    }
    

Example 3: Payment Webhook

Workflow:

Webhook In → Verify Payment → Update Invoice → Send Receipt

Configuration:

  1. Webhook In Task
  2. Name: "Stripe Payment Webhook"
  3. Response Type: Respond Immediately (Stripe has strict timeout limits)
  4. Custom Response: {"received": true}

Testing Your Webhook

Using Postman

  1. Copy your Test URL
  2. Create a new POST request in Postman
  3. Set headers:
    Content-Type: application/json
    
  4. Add body:
    {
      "test": "data",
      "customer_name": "Test User"
    }
    
  5. Send request
  6. Check workflow execution in BaseCloud

Using cURL

curl -X POST \
  https://api.basecloudglobal.com/webhook/test/YOUR_WEBHOOK_ID \
  -H 'Content-Type: application/json' \
  -d '{
    "customer_name": "John Doe",
    "email": "john@example.com"
  }'

Using JavaScript

fetch('https://api.basecloudglobal.com/webhook/test/YOUR_WEBHOOK_ID', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    customer_name: 'John Doe',
    email: 'john@example.com'
  })
})
.then(response => response.json())
.then(data => console.log('Success:', data))
.catch((error) => console.error('Error:', error));

Best Practices

✓ Do

  • Always test first - Use Test URL extensively before switching to Production
  • Validate incoming data - Add validation tasks after the webhook
  • Log important data - Keep records of webhook calls for debugging
  • Set appropriate timeouts - Use "Respond Immediately" for long workflows
  • Document your webhooks - Keep notes on what each webhook URL is used for

✗ Don't

  • Don't skip testing - Never use Production URL without testing first
  • Don't expose sensitive URLs - Keep your webhook URLs private
  • Don't ignore errors - Set up error handling in your workflow
  • Don't forget security - Consider adding authentication if handling sensitive data

Troubleshooting

Webhook Not Triggering

Possible causes:

  1. Wrong URL - Verify you're using the correct Test or Production URL
  2. HTTP Method - Webhook must receive POST requests (not GET)
  3. Workflow inactive - Ensure workflow is published and active

Solution:

1. Check the webhook URL in external service
2. Verify POST method is being used
3. Test with Postman to isolate the issue
4. Check workflow execution logs

Data Not Appearing

Possible causes:

  1. Incorrect variable names - Check exact field names
  2. Data format mismatch - Webhook expects JSON
  3. Nested objects - May need to access nested properties

Solution:

1. Use {{task_46055_run_text}} to see raw data
2. Verify JSON structure being sent
3. Check for typos in variable names
4. Use data formatter task if needed

Timeout Issues

Possible causes:

  1. Long-running workflow - Workflow takes > 30 seconds
  2. External service timeout - Caller has strict timeout limits

Solution:

1. Change Response Type to "Respond Immediately"
2. Optimize slow tasks in workflow
3. Consider splitting into multiple workflows

Common Questions

Can I use GET requests instead of POST?

No, Webhook In only accepts POST requests with JSON data.

Is there a limit to how much data I can send?

Standard HTTP payload limits apply (typically 10MB), which is more than sufficient for most use cases.

Can I trigger the webhook manually?

Yes! Use the Test URL with Postman, cURL, or any HTTP client to manually trigger your workflow.

How quickly does the workflow trigger?

Workflows trigger in real-time, typically within milliseconds of receiving the webhook request.

Can I use the same webhook URL for multiple external services?

Yes, though we recommend creating separate Webhook In tasks for different sources to keep workflows organized.

What happens if my workflow fails?

The webhook will return an error response, and you can review the error in the workflow execution logs.

See Also


Last updated: February 3, 2026

Need help? Contact Support or visit our Community Forum