All guides / Integrations

Connecting Your Tools with Webhooks

Learn how to use webhooks to connect Closed with your CRM, Slack, project management tools, and more.

6 min read January 2025

Webhooks let you connect Closed to virtually any other tool. When something happens in Closed—a proposal is viewed, signed, or status changes—we can instantly notify your other systems.

What Are Webhooks?

A webhook is an automated message sent from Closed to another system when something happens. Think of it like a notification—but for your software, not your phone.

When you configure a webhook, you tell Closed: "When X happens, send a message to this URL." The receiving system can then take action based on that message.

Available Webhook Events

Closed can send webhooks for these events:

proposal.sent

Fires when a proposal is sent to recipients

proposal.viewed

Fires when a recipient opens the proposal

proposal.signed

Fires when a proposal is signed

proposal.declined

Fires when a proposal is declined

proposal.expired

Fires when a proposal passes its expiry date

Setting Up a Webhook

  1. Go to Settings → Integrations → Webhooks
  2. Click "Add Webhook"
  3. Enter the endpoint URL - This is where Closed will send the data
  4. Select which events to send - Choose one or more events
  5. Optionally add a secret - For verifying webhook authenticity
  6. Save and test - Send a test event to verify it works

Example Webhook Payload

{
  "event": "proposal.signed",
  "timestamp": "2025-01-21T14:32:15Z",
  "data": {
    "proposal_id": "prop_abc123",
    "proposal_title": "ACME Rebrand Project",
    "client_name": "ACME Corp",
    "client_email": "[email protected]",
    "total_value": 24000,
    "currency": "GBP",
    "signed_at": "2025-01-21T14:32:15Z",
    "signer_name": "Sarah Mitchell"
  }
}

Connecting to Popular Tools

You can use webhooks with automation platforms to connect Closed to hundreds of tools:

Using Zapier

  1. Create a new Zap with "Webhooks by Zapier" as the trigger
  2. Select "Catch Hook" and copy the webhook URL
  3. Paste that URL in Closed's webhook settings
  4. Send a test event from Closed
  5. Add your actions (create HubSpot contact, send Slack message, etc.)

Using Make (Integromat)

  1. Create a new scenario with "Webhooks" as the trigger
  2. Select "Custom webhook" and create a new webhook
  3. Copy the URL and add it to Closed
  4. Build your automation with any of Make's integrations

Using n8n

  1. Add a Webhook node as your trigger
  2. Copy the production URL from n8n
  3. Configure it in Closed's webhook settings
  4. Connect to any of n8n's 300+ integrations

Pro tip: Start with a simple automation (like sending a Slack message when a proposal is signed) before building complex workflows. Make sure the basics work first.

Common Automations

Here are popular ways agencies use webhooks:

Slack Notifications

Get notified in Slack when proposals are viewed or signed. Celebrate wins with your team in real-time.

CRM Updates

Automatically update deal stages in HubSpot, Pipedrive, or Salesforce when proposals are signed.

Project Creation

Create a new project in Asana, Monday.com, or ClickUp when a proposal is signed.

Invoice Generation

Trigger invoice creation in Xero, QuickBooks, or Stripe when deals close.

Data Logging

Send proposal data to Google Sheets or Airtable for custom reporting and analysis.

Webhook Delivery & Reliability

Closed includes features to ensure your webhooks are delivered reliably:

  • Automatic retries: If delivery fails, we retry with exponential backoff
  • Delivery logs: View the full history of webhook deliveries and responses
  • Payload inspection: See exactly what was sent and what was returned
  • Manual retry: Resend any failed webhook with one click

View webhook delivery status in Settings → Integrations → Webhooks → Delivery Logs.

Security

Webhooks can include a secret for verification:

  • When you add a secret, Closed includes a signature header with each webhook
  • Your receiving system can verify this signature to confirm the webhook came from Closed
  • This prevents malicious actors from sending fake webhooks to your endpoint

Security tip: Always use HTTPS endpoints for webhooks, and consider adding a secret for verification—especially if the webhook triggers sensitive actions like creating invoices or projects.

Troubleshooting

Webhooks not arriving

Check the delivery logs for errors. Common issues: incorrect URL, endpoint not accepting POST requests, firewall blocking requests.

Duplicate webhooks

Webhooks may be retried if we don't receive a success response. Make your webhook handlers idempotent (able to handle the same event twice without side effects).

Webhook timing out

Webhooks timeout after 30 seconds. If your endpoint needs to do slow processing, accept the webhook immediately and process asynchronously.

Summary

Webhooks are the key to making Closed work with your existing tools. Start with simple automations—Slack notifications or CRM updates—and build from there. With platforms like Zapier or Make, you can connect Closed to virtually any tool without writing code.

Quick Checklist

  • Webhook endpoint URL configured
  • Events selected (sent, viewed, signed, etc.)
  • Test webhook sent and verified
  • Secret added for security (recommended)

Ready to connect your tools?

Start your free trial and set up webhooks to automate your workflow.

Start Free Trial