Skip to main content

Overview

Webhooks are automated HTTP POST messages from Transcrypts sent to predefined URLs when platform events occur. They track Task status changes during processing, providing real-time updates as payroll connections process data and documents from providers.

Subscribing

Add webhook URLs through the Transcrypts Dashboard at Development > Webhooks. Each environment requires a separate, specific URL.

Testing

Test webhooks using:
  • Transcrypts Bridge in the Transcrypts Emulator
  • ngrok for local environment testing
  • MockBin for browser-based payload testing

Payload Response

All webhook requests contain common fields:
Header field names are case-insensitive per HTTP/1.1 specifications.

Timing

Webhooks are processed in Task status update order. For example, full_parse events precede done events. External factors like network latency may cause delays. Use the updated_at field to monitor event sequences.

Security

Each request includes an X-WEBHOOK-SIGN header containing an HMAC-SHA256 hash using your Access secret as the key.

Verification Steps

  1. Create an HMAC hash of the raw request body using SHA-256 with your Access secret as the key, converting to hexadecimal.
  2. Compare this hash to the X-WEBHOOK-SIGN header value; matching values confirm Transcrypts origin.

HTTP Timeouts and Retries

Endpoints must return a successful 2xx status code within 10 seconds. Unsuccessful requests receive three retry attempts with 30-second intervals between each. After three failed attempts, further delivery is blocked.

Status Codes

Webhook Event: Task Status Change

The task-status-updated event fires when Task status changes. Upon receiving status: done, all data is downloaded and processing is complete. Example payload:

Field Definitions

Use link_id to locate the access_token for retrieving latest payroll data from respective endpoints.