Developer Reference
Webhooks, integrations, and API documentation for AdvisorPitch.
Webhooks
AdvisorPitch sends signed POST requests to your configured webhook endpoints when proposal events occur. Configure endpoints in Settings → Webhooks.
Events
proposal.opened— a client opened the proposal linkproposal.signed— a client signed the proposalproposal.sent— a proposal was sent to a clientproposal.expired— a proposal passed its expiry dateping— test event sent when you click "Test" on a webhook endpoint
Payload format
POST https://your-endpoint.com/webhook
Content-Type: application/json
X-AdvisorPitch-Signature: sha256=<hex_digest>
X-AdvisorPitch-Event: proposal.opened
{
"event": "proposal.opened",
"timestamp": "2026-06-01T12:34:56.789Z",
"data": {
"proposalId": "clxxx...",
"proposalTitle": "IT Strategy Proposal",
"clientName": "Acme Corp",
"clientEmail": "jane@acme.com",
"publicUrl": "https://advisorpitch.com/p/<token>",
// proposal.signed only:
"signerName": "Jane Smith",
"signerEmail": "jane@acme.com",
"signedAt": "2026-06-01T12:34:56.789Z"
}
}Signature verification
Every webhook includes an X-AdvisorPitch-Signature header. Verify it using HMAC-SHA256 with your endpoint's signing secret:
// Node.js example
const crypto = require('crypto');
function verifySignature(payload, signature, secret) {
const expected = 'sha256=' + crypto
.createHmac('sha256', secret)
.update(payload)
.digest('hex');
return crypto.timingSafeEqual(
Buffer.from(expected),
Buffer.from(signature)
);
}Zapier Integration
Connect AdvisorPitch to 6,000+ apps via Zapier:
- In Zapier, create a new Zap and choose Webhooks by Zapier as the trigger
- Select Catch Hook and copy the webhook URL Zapier gives you
- In AdvisorPitch Settings → Webhooks, add that URL and select the events you want
- Send a test proposal to trigger a test event, then complete the Zapier setup
CRM Integrations
AdvisorPitch automatically syncs contacts and deals when proposals are sent or signed.
Zoho CRM
Configure in Settings → CRM Integrations → Zoho CRM. Uses OAuth 2.0. Syncs contact and deal on proposal send.
HubSpot
Configure in Settings → CRM Integrations → HubSpot. Requires a Private App token with crm.objects.contacts.write scope.
Salesforce
Configure in Settings → CRM Integrations → Salesforce. Requires your instance URL and a user API token.
Google Analytics
Add your GA4 Measurement ID in Admin → Platform Config → Google Analytics. The gtag.js script is injected on every page automatically. No redeploy needed.
Email Delivery
All transactional emails are sent via Resend. To send from your own domain:
- Verify your domain at resend.com/domains
- Set
RESEND_FROM=Your Name <you@yourdomain.com>in your environment - Redeploy — all emails will use your domain
Support
Questions about integrations or the API? Contact us or email support@advisorpitch.com.