A rolled blueprint tied with string, a set square and pencil lying across it
Moving in2 min read

Get my Calendly bookings, Typeform answers or Facebook leads into bernard

bernard has no direct connection to Calendly, Typeform or Facebook lead ads, and will not build one for each tool. Instead your site has one inbound address (Let another tool add people to my contacts, tag them or enrol them), and Zapier or Make carries the news from each tool to it. If you are moving from ActiveCampaign, this replaces those integrations (What does bernard have for each thing I use in ActiveCampaign?).

The prompt

“I use [Calendly / Typeform / Facebook lead ads]. When [someone books a call / answers my form / fills in my lead ad], add them to my contacts on [my site] with the tag [tag] and start [my automatic email]. Show me what to set up in Zapier.”

Signed in, Get my prompt fills in your site for you. Otherwise press Copy and fill in the [bracketed] parts. First time? Connect your AI to bernard once: Use your own AI (opens in a new tab).

Good things to set up

  • Calendly: a call is booked. Add the person with the tag call-booked. If you have an automatic email that starts with that tag, it starts too.
  • Calendly: a booking is cancelled. Add the tag call-cancelled.
  • Typeform: a new answer. Add the person with their name and a tag for the form, and fill in a contact field or two from their answers if you made matching fields in bernard.
  • Facebook lead ads: a new lead. Add the person with a tag for the ad, for example lead-autumn-ad.

What to build

First ask Bernard for an inbound address. You get the address and a secret, each shown once.

In Zapier, the Zap is: the trigger (a new Calendly booking, a new Typeform answer, a new lead), then a Code by Zapier step in JavaScript that builds the message and signs it with your secret, then a Webhooks by Zapier POST to your address with two headers. Zapier’s own help says its JavaScript step includes the standard Node library, which has the signing function. In Make, the signing is one built-in function, so you need only an HTTP module.

The message is one small piece of JSON. For a booking:

{"action": "add_tag", "email": "<the invitee email>", "tag": "call-booked"}

For a new contact with a name and a tag:

{"action": "upsert_contact", "email": "<email>", "name": "<name>", "tags": ["typeform-guide"]}

The two headers are X-Bernard-Timestamp, the time in Unix seconds, and X-Bernard-Signature, which is v1= and then the hex HMAC-SHA256 of the timestamp, a full stop and the exact body, made with your secret. A message more than five minutes old is refused, so make the timestamp in the same step.

If the Zap runs and nothing appears, ask Bernard what the inbound address has received. A message with a wrong signature is refused and not listed, so if you see nothing at all, check the secret and the timestamp first.

What does not come across

The full Typeform answers, the Calendly event details and the ad itself stay where they are. The people arrive without permission to market to them, because bernard did not see them agree. A link to one of your bernard forms, on your thank-you screen or in your booking confirmation, is how they join your list.

Questions people ask

Does bernard connect to Calendly, Typeform or Facebook directly?
No. bernard gives your site one inbound address, and Zapier or Make connects each of those tools to it. That keeps one way of doing it for every tool.
What can a booking or an answer do in bernard?
Add the person to your contacts or update them, give them a tag, start one of your switched-on automatic emails, or enrol them on a course. A cancelled Calendly booking can add a different tag.
Do I need a paid Zapier plan?
Probably. Zapier says the step that sends a message to another address is not on its free plan; check your plan for the code step too. Make has the signing built in as a function.
Do the Typeform answers come across?
Only what you send: the email address, the name, and values for your own contact fields if you map them. The full answers stay in Typeform.
Are these people on my mailing list?
No. bernard did not see them agree to your emails, so they arrive without permission to market to them. They can join your list on one of your bernard forms, which you could link to from your Calendly confirmation or your Typeform thank-you screen.
Who sets it up?
The account owner makes the inbound address with Bernard and approves what other tools can do with it. Then you, or whoever runs your Zaps, add the steps in Zapier or Make.

Next