A server endpoint that runs after the counter-signature is recorded. It resolves the deal's specific job so it advances the exact pipeline card (multi-job safe), runs the tenant's configured stage automation for admin_counter_signed, creates an idempotent QuickBooks project marked 'not started', emits a team notification with a Build Schedule CTA, and sends the customer a tenant-branded portal-link email.
Also called: after the contract is signed · contract triggers · ready to start · quickbooks project created
- 1Re-asserts org scope on the contract as defense in depth, and refuses if the contract isn't fully_executed.
- 2Resolves the SmartBuild job id from the estimate link so 'the dashboard advances the EXACT pipeline card (multi-job-safe), not every card for this contact'.
- 3QuickBooks sync is fire-and-forget and idempotent: 'a double-fire can't duplicate (UNIQUE(org_id, smartbuild_job_id) + claim-row mutex)'.
- 4Team notification: 'Contract with <name> is fully executed — ready to start project'.
- 5Customer email uses the 'contract.fullySigned' message key with the tenant's email brand, and the same tokens compose the text version.
The protocol is recorded and deliberate: 'Per protocol locked 2026-counter-sign emits a notification + the "Ready to Start" pill flips on for this estimate; it does NOT auto-create a project.' The customer email exists for a stated goal — 'every time there is an update we want the client going to this dashboard' — so 'they train themselves to check the dashboard instead of texting the builder.'
- Manual re-keying of a signed job into accounting
- Pipeline stages that lag behind reality
- Automations that start a build before the builder decides to
See it on your own jobs
Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.
or keep browsing features →