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 link
  • proposal.signed — a client signed the proposal
  • proposal.sent — a proposal was sent to a client
  • proposal.expired — a proposal passed its expiry date
  • ping — 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:

  1. In Zapier, create a new Zap and choose Webhooks by Zapier as the trigger
  2. Select Catch Hook and copy the webhook URL Zapier gives you
  3. In AdvisorPitch Settings → Webhooks, add that URL and select the events you want
  4. 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:

  1. Verify your domain at resend.com/domains
  2. Set RESEND_FROM=Your Name <you@yourdomain.com> in your environment
  3. Redeploy — all emails will use your domain

Support

Questions about integrations or the API? Contact us or email support@advisorpitch.com.