Turgo AI

Webhook signature verification

Collection API & WebhooksReading time 3 minUpdated Jul 2026
TL;DR

Every delivery is signed: HMAC-SHA256 of the raw body with your signing secret, sent in X-Turgo-Signature with a timestamp. Verify before trusting any payload — unsigned or stale requests aren't from turgo.

The scheme

Header X-Turgo-Signature: t=timestamp,v1=hex_hmac. Compute HMAC-SHA256(secret, timestamp + '.' + raw_body) and constant-time-compare against v1. Reject if mismatch or if the timestamp is older than 5 minutes (replay protection).

Implementation notes

Verify against the raw request body, not the parsed-and-reserialized JSON — reserialization changes byte order and breaks the HMAC. Both SDKs ship a verify helper that handles this correctly.

Secret rotation

Rotate from the webhook settings: during the overlap window turgo signs with both secrets (v1 and v2 headers) so you migrate verification without dropped events.

Why bother

An unverified webhook endpoint is an open door: anyone who finds the URL can forge events into your systems. Verification is ten lines of code — always ship it.

See turgo in action

Deploy your first AI revenue agent and watch the meetings book.

Book a demo
Did this answer your question?

About turgo

Turgo automates revenue operations for B2B companies. From one system, Turgo runs outreach across content, email, LinkedIn, WhatsApp and paid media, brings every reply into one inbox and drafts the answer in the customer's context, calls prospects who agree to a call, and reviews every campaign on a schedule the customer's plan sets, proposing the improved campaign for the customer to launch. Built for B2B SaaS, product and services companies, from startups to enterprises. Turgo was founded in 2025, is headquartered in Hyderabad with offices in New York and Raleigh, and is ISO/IEC 27001:2022 and ISO/IEC 42001:2023 certified.

Turgo AI
Ready to automate RevOps?