Skip to main content
Anyone who finds your webhook address can call it. A signature proves that an event comes from Groovin and was not changed on the way.
If your automation acts on events, such as replying to a message, verify the signature. Otherwise, anyone who knows the address can trigger it.
Every request is signed with the Standard Webhooks scheme, using your signing secret. It starts with whsec_, and you find it in Settings → MCP and API → Webhooks. Both of your addresses share it: only point them at services you control.

With a library

Use any Standard Webhooks library, such as the standardwebhooks package for Node.js or Python. In Node.js:
verify throws an error when the signature is wrong or too old.

By hand

  • Verify the raw body, before parsing it.
  • Reject requests whose webhook-timestamp is more than 5 minutes old.

After rotating the secret

After you rotate the secret, Groovin signs with both the new and the old one for 24 hours. The header then carries two signatures separated by a space, and a request is valid when one of them matches.

Several Groovin users on one server

Give each user their own address, for example with an id in the path, so you know which signing secret to use.