Webhooks
Receive run completions, events, and environment lifecycle changes.
Webhooks deliver JSON payloads to an HTTPS endpoint you control when something happens in a workspace. Each delivery is signed so you can verify its origin.
| Event | When |
|---|---|
| run.completed | A run finishes with any status. |
| environment.ready | A newly created or restored environment is ready. |
| environment.archived | An environment is archived. |
| event.emitted | A matching contract event is emitted (filterable). |
Verifying signatures
import { verifyWebhook } from "@nome/sdk";
export async function POST(req: Request) {
const payload = await req.text();
const ok = verifyWebhook(payload, req.headers.get("nome-signature")!, process.env.NOME_WEBHOOK_SECRET!);
if (!ok) return new Response("invalid signature", { status: 401 });
// handle payload
return new Response("ok");
}Deliveries are retried with exponential backoff for up to 24 hours. Failed deliveries are visible in the Console.