For teams that want Certyn events in a tool Certyn has no connection for.
Your setup
- Microsoft Teams, Discord, a data warehouse or your own service.
- A small public HTTPS endpoint you can host (a serverless function, a worker, a Power Automate flow).
- You want a message or a row when Certyn files an issue or a run ends.
Say this to Certyn
We use Microsoft Teams, not Slack. Can Certyn post in our QA channel when it finds a bug or a run finishes?
What Certyn does
-
Tells you where to add it: Settings → Webhooks → New webhook. The chat cannot create webhooks. The form asks for a name, an HTTPS URL, a format and events, then sends a test. The webhook turns on only after the test gets a 2xx answer. The secret is shown once.
-
Helps you pick events:
ticket.created,ticket.changed,ticket.run_state.changed,test.execution.started,test.execution.completed,test.case.quarantined,test.case.unquarantined,agent.session.*,runtime.session.*. -
Explains the format. Generic is this JSON:
{ "id": "<event id>", "deliveryId": "...", "type": "ticket.created", "timestamp": "...", "projectId": "...", "tenantId": "...", "data": { } }Slack is a Block Kit message. There is no Teams or Discord format, so a relay reads the generic JSON and posts in their format, or writes a warehouse row. Certyn can write the relay and test it on its Machine.
-
Shows how to check the signature: compute HMAC-SHA256 with the webhook's secret over
<X-Certyn-Timestamp>.<raw body>, and compare it withX-Certyn-Signature: sha256=<hex>.
What you get
- Events at your endpoint a few seconds after they happen.
- Retries after any error or non-2xx answer: after 30 seconds, 2 minutes, 10 minutes and 1 hour (5 tries in all). Then View deliveries shows each try and has Retry.
- One
idper event, to drop duplicates.
Limits
dataholds the event's own fields, for exampleticketId,titleandseverityforticket.created. For more, such as the full issue or the run report, your relay calls the REST API.- A webhook from Settings gets events from every project. For one project, register it through the Webhooks API with
projectId. API keys cannot manage webhooks. - The URL must be public HTTPS: no localhost,
.localor private IP addresses. A delivery is at most 256 KB. - Slack-format deliveries are not signed.