Calcupedia

Send your calculator leads to HubSpot, Mailchimp or Google Sheets

When a visitor fills in the lead form on your calculator, Calcupedia can pass it straight to the tool you already use. You connect it once with a free or low-cost automation tool (Make or Zapier), and every new lead shows up there within seconds. It takes about 5 minutes and no code.

1Get a webhook URL from Make or Zapier

A webhook URL is an address that listens for new leads. Pick one tool:

Make

  1. Create a new scenario.
  2. Add the Webhooks module and choose Custom webhook.
  3. Click Add, give it a name like “Calcupedia leads”, and save.
  4. Copy the URL it shows. Make now waits for a first lead.

Zapier

  1. Create a new Zap.
  2. For the trigger, choose Webhooks by Zapier, then Catch Hook.
  3. Click Continue until you see the webhook URL.
  4. Copy it.

2Paste it into your lead form and send a test

  1. In your Calcupedia dashboard, open Lead Forms and edit the form your embed uses.
  2. Paste the URL into Send leads to your CRM (webhook).
  3. Click Send test lead. You should see “Test lead sent”.
  4. Click Save changes.

In Make, the webhook module now knows what a lead looks like. In Zapier, click Test trigger and pick the test lead.

3Choose where the lead goes

Add a second step after the webhook and match the fields: put email into the email field, name into the name field, and so on.

Send toIn Make, addIn Zapier, add
HubSpotHubSpot CRM → Create or Update a ContactHubSpot → Create or Update Contact
MailchimpMailchimp → Add/Update a SubscriberMailchimp → Add/Update Subscriber
Google SheetsGoogle Sheets → Add a RowGoogle Sheets → Create Spreadsheet Row

Any other tool listed in Make or Zapier works the same way: Pipedrive, Salesforce, ActiveCampaign, Brevo, Airtable, Notion, Slack.

4Switch it on

In Make, turn the scenario on and set it to run immediately. In Zapier, click Publish. From now on, every new lead arrives on its own.

What each lead contains

Each lead arrives as JSON with these fields:

eventAlways "lead.created"
testtrue for test leads from the Send test lead button, false for real ones
emailThe visitor's email (always there)
name, phone, companyFilled in when your form asks for them, otherwise empty
inputsWhat the visitor typed into the calculator, e.g. loan_amount
outputsThe results they saw, e.g. monthly_payment
source_urlThe page on your site where they filled in the form
lead_form_id, embed_idWhich of your lead forms and embeds it came from
submitted_atWhen it happened (ISO 8601, UTC)

For developers: check the signature

Sending leads to your own server? After you save a form with a webhook URL, it gets a signing secret (it starts with whsec_). Every lead carries a Calcupedia-Signature header like t=1761638400,v1=5f2c…. v1 is the HMAC-SHA256 of <t>.<raw body> with your secret, written in hex. Reject leads where it doesn't match or t is more than 5 minutes old.

import { createHmac, timingSafeEqual } from "node:crypto";

// header = request.headers["calcupedia-signature"], rawBody = the body exactly as received
function isFromCalcupedia(header, rawBody, secret) {
  const parts = Object.fromEntries(header.split(",").map((p) => p.split("=")));
  const expected = createHmac("sha256", secret).update(`${parts.t}.${rawBody}`).digest("hex");
  const fresh = Math.abs(Date.now() / 1000 - Number(parts.t)) < 300; // within 5 minutes
  const given = Buffer.from(parts.v1 ?? "");
  return fresh && given.length === expected.length && timingSafeEqual(Buffer.from(expected), given);
}

We wait up to 5 seconds for an answer and send each lead once. Answer with any 2xx status. Leads are always saved in your dashboard too, so nothing is lost if your server is down.

Questions

Lead capture and webhooks come with the Creator and Agency plans. Every lead also stays in your dashboard under Leads, with a CSV export, and you can get an email for each new one.

Either works the same way. Make's free plan includes webhooks. Zapier's webhook trigger (Webhooks by Zapier) needs a paid Zapier plan. If you already pay for one of them, use that one.

Check that you pasted the whole URL, that your Make scenario or Zap is listening for data (or switched on), and press Send test lead again. The message under the button tells you what your tool answered.

Only while you're setting up. Test leads have "test": true, so you can add a filter step in Make or Zapier that only lets through leads where test is false.

Not on our side. Make and Zapier count each lead as one run (an operation or task) on your plan with them.

Stuck? Send us a message and we'll help you connect it.