Host notifications
Publishing grants access. If you want email, send it from your system after rfq.published or your own adapter callback. Deduplicate on event id. The widget must not claim that email was delivered.
// examples/rfq-nextjs/server/notify.ts
export async function onRfqEvent(event: { id: string; name: string; rfqId: string }) {
if (await alreadyHandled(event.id)) return;
if (event.name === "rfq.published") {
await enqueueSupplierNotice(event.rfqId); // your mailer
}
await markHandled(event.id);
}Hosted webhooks are HMAC-signed and carry ids only: no titles, prices, or file URLs. Retrieve the authorized record through your server API. Payloads include rfq.published, quote.submitted, clarification.created, rfq.closed, rfq.selected, and the other names in the webhook docs.