Set up webhooks in Apropos
Send Apropos workspace events β signed, accepted, or change-requested proposals and newly created customers and catalog items β to a URL you control. Only workspace admins can create and revoke webhooks, and the receiving URL must be publicly reachable over HTTPS.
Create a webhook
Create a webhook from Settings > Webhooks to start receiving events. You need a publicly reachable HTTPS endpoint that accepts POST requests.
Open Settings and select the Webhooks tab.
Click Add webhook.
Enter the URL that will receive the events. It must be a valid HTTPS URL; Apropos rejects localhost, loopback, link-local metadata, and .local destinations.
Select the events this webhook should receive. proposal.signed is selected by default; the options are proposal.signed, proposal.accepted, proposal.changes_requested, customer.created, and item.created.
Copy the signing secret when it's created β the UI masks it and offers Copy signing secret. There's no way to regenerate it later, so store it where your service can use it to verify incoming requests.
Verify incoming notifications
Every delivery is signed so you can confirm it came from Apropos. Each POST includes the X-Apropos-Signature, X-Apropos-Timestamp, X-Apropos-Event, and X-Apropos-Delivery headers, and the signature is an HMAC-SHA256 hash of the timestamp and JSON body using your signing secret. The body carries the public fields for the event's resource β proposal events carry the proposal's public fields, customer.created carries the customer's, and item.created carries the catalog item's β with no extra envelope.
Revoke a webhook
Revoke a webhook when the connected service no longer needs the events. Revoked rows stay in the list marked Revoked. Delivery is asynchronous and there is no test button, delivery history, or manual retry in Settings; Apropos retries failed deliveries automatically up to six times with increasing delays.