A site takes a few minutes to build. Instead of checking, add a webhook, and AnyPress calls your flow the moment the site is ready.
Steps #
- Make a new flow that starts with a webhook: an n8n Webhook node, a Make Custom webhook, or Catch Hook in Zapier. Copy its address.
- At app.anypress.io, open Webhooks, add that address and tick
tenant.ready. Keep the signing secret it shows you. It’s shown only once. - In the flow, look the site up again with
GET https://api.anypress.io/v1/tenants?externalId=…and carry on only whenstatusCodeis1. That way the flow trusts AnyPress, not whatever reached the address. - Email the client their address (
domainName) and a link to choose a password:https://<domainName>/wp-login.php?action=lostpassword. Then update your CRM and tell your team.
What your webhook receives #
{
"type": "tenant.ready",
"timestamp": "2026-10-24T16:05:12Z",
"data": {
"tenant": {
"externalId": "crm-contact-482",
"name": "Hill Street Dental",
"domainName": "hill-street-dental.anypress.site",
"statusCode": 1,
"statusName": "Done",
"size": "small"
}
}
}
Other events #
| Event | When it’s sent |
|---|---|
tenant.ready |
A new site is built and answering |
tenant.failed |
A change still failed after its retries. We’re told too |
tenant.domains_changed |
The client’s own domain is connected |
tenant.suspended, tenant.resumed |
Taken offline, or back online |
tenant.deleted, tenant.restored |
Gone, or back from its backup |
tenant.backup_completed |
A backup finished, nightly ones included |
Delivery #
- Any 2xx answer within 10 seconds counts as delivered. Failed deliveries are tried 10 more times over about seven hours, and you can send one again from the Webhooks page.
- An event can arrive more than once. Use the
webhook-idheader to skip repeats. - Every request is signed the Standard Webhooks way, so a code step can check the
webhook-signatureheader with your signing secret.