Skip to main content
POST
/
external
/
v1
/
automations
/
webhooks
/
{public_id}
/
fire
Fire Webhook Trigger
curl --request POST \
  --url https://api.example.com/external/v1/automations/webhooks/{public_id}/fire/
{
  "202": {},
  "400": {},
  "404": {},
  "409": {},
  "429": {},
  "503": {}
}

Documentation Index

Fetch the complete documentation index at: https://docs.firstwork.com/llms.txt

Use this file to discover all available pages before exploring further.

Fire Webhook Trigger

Trigger an automation via webhook. The webhook payload will be mapped to application/candidate fields based on the trigger’s field mapping configuration.

Endpoints

POST /external/v1/automations/webhooks/{public_id}/fire/
GET  /external/v1/automations/webhooks/{public_id}/fire/

Authentication

This endpoint is authenticated via the unique webhook URL (public_id) and does not require an API key.

Path Parameters

ParameterTypeRequiredDescription
public_idstring (UUID)YesThe webhook trigger’s public ID

Request Body (POST)

The request body structure depends on the field mapping configuration of the webhook trigger.
{
  "candidate": {
    "email": "john@example.com",
    "first_name": "John",
    "last_name": "Doe",
    "phone": "+1234567890",
    "id": "ext_12345"
  },
  "flow_id": "hiring_flow_uuid",
  "custom_fields": {
    "years_experience": "5"
  }
}

Example Request

curl -X POST "https://api.firstwork.com/external/v1/automations/webhooks/a1b2c3d4-e5f6-7890-abcd-ef1234567890/fire/" \
  -H "Content-Type: application/json" \
  -d '{
    "candidate": {
      "email": "john@example.com",
      "first_name": "John",
      "last_name": "Doe"
    },
    "flow_id": "hiring-flow-uuid"
  }'

Responses

202
Accepted
Webhook received and queued for async processing.
400
Bad Request
Automation inactive, empty payload, or validation error.
404
Not Found
Webhook trigger not found.
409
Conflict
Idempotency conflict during concurrent request processing.
429
Too Many Requests
Rate limit exceeded.
503
Service Unavailable
Service temporarily unavailable (rate limiting infrastructure down).

Notes

  • The automation executes asynchronously — the response confirms the trigger was received
  • Both GET and POST methods are supported
  • The webhook payload fields should match the automation’s field mapping configuration