Library / Wire / Calendly only counts when GoHighLevel sees the booking

WireHow to wire it

Calendly only counts when GoHighLevel sees the bookingA full calendar and an empty pipeline is two databases.

Calendly is a booking UI. GoHighLevel is where the opportunity must live. If the invitee gets a confirmation and GHL never creates a contact, you did not wire a CRM. You wired a second calendar with extra steps. This page is the write-in spec an intern can run on Tuesday.

00

The short version

Intern through CEO

Calendly is a booking UI. GoHighLevel is where the opportunity must live. If the invitee gets a confirmation and GHL never creates a contact, you did not wire a CRM. You wired a second calendar with extra steps. This page is the write-in spec an intern can run on Tuesday.

  1. 01

    Name every Calendly event type and the GHL stage it must write. Discovery is a job. Coffee chat is not a pipeline. If two event types dump into one mood stage called New, reporting cannot tell you which calendar is leaking.

  2. 02

    Identity is invitee email, lowercased. Name, phone, and the question answers write to named custom fields, not to appointment notes sales will never open. If the mapping lands in notes, you built a filing cabinet inside a booking tool.

  3. 03

    Pick one reminder owner before you connect anything else. Two reminder systems train people to ignore both. Write the rule on the spec page: Calendly handles 24h/1h, or GHL does. The other is off.

  4. 04

    No-show is a sequence, not a personality trait. The opportunity cannot sit on Discovery booked as if they will appear. Same-day recovery, rebook as the conversion, then lost with a reason if they go silent.

  5. 05

    Prove it with one test booking. You should see one contact, one opportunity, one reminder source, and a show-rate denominator you can compute: held ÷ booked for that event type. If you merge contacts after the test, the identity key is wrong — fix that before you add workflows.

Who

Same system. Three jobs.

Read your row

Intern

What you actually do

Your job is the table and the test booking. Event type, stage, fields, one write path. Do not build a 12-step reminder workflow. If GHL is empty after a real booking, you are done for the day — that is the ticket.

Operator

What you protect

You already feel the leak: the calendar is busy, the board is fiction. Protect Discovery write-in for 90 days. Reminders from one system. No-show is a sequence. Show rate is the Monday number, by event type.

CEO

What you refuse to fund

This is a money leak. Traffic into a calendar that does not write a pipeline is rented conversation. Until held ÷ booked is a number you will defend, more seats and more ads buy ghosts.

Wire

How to connect it

Objects, then edges

Calendly event type (one per job: Discovery, Kickoff, Recare), invitee email as identity, GHL contact, opportunity on a named pipeline, appointment on the contact, reminder owner (exactly one system), no-show tag, Conversations thread.

  1. 01

    Calendly event Discovery booked → GHL contact created/updated + opportunity on stage Discovery booked

  2. 02

    Reminder sequence owned by GHL or Calendly — never both nagging the same invitee

  3. 03

    Event canceled or marked no-show → tag no-show + same-day rebook workflow on that contact

  4. 04

    Event marked held → opportunity moves to Discovery held; Conversations stays on the same contact

Steps

Do this in order

Why, then done when
  1. 01

    Inventory event types against stages

    Export every live Calendly event type. On one page, write the GHL pipeline and the exact stage each type must create or move. Ban leftover event types that still take bookings.

    Why: Orphan event types are how discovery, onboarding, and random 15-minute chats share one fake stage.

    Done when: A stranger can name event type → stage without opening Calendly.

  2. 02

    Map invitee fields to GHL fields

    Email is the match key. First name, last name, phone, and each custom question map to a named custom field. Turn off 'append to notes' as the home for answers.

    Why: Notes are not filterable. Sales will open Calendly instead of GHL, and you are back to two databases.

    Done when: A test invitee shows answers on the contact record, not only in the appointment body.

  3. 03

    Choose the write path and kill the duplicate

    Native GHL–Calendly, or one Zap/Make scenario. Not both. If both run, you will duplicate contacts on case-sensitive emails.

    Why: Two writers racing is the most common 'Calendly is flaky' ticket. It is not flaky. It is double-write.

    Done when: One integration record. The other is disconnected, not paused 'just in case'.

  4. 04

    Install no-show as a job

    When the event is canceled or marked no-show, tag the contact, move or keep the opportunity on a recoverable stage, and fire a same-day rebook message from Conversations. If they do not rebook in N days, lost_reason = no-show.

    Why: A personal founder text does not scale and does not hit the board. Ghosts stay booked forever.

    Done when: A canceled test event leaves a message and does not remain Discovery booked.

  5. 05

    Compute show rate on Monday

    For each event type: booked, held, no-show. Show rate = held ÷ booked. Write one action or write hold. Do not blend all event types into one vanity percentage.

    Why: A blended show rate hides the leaky type. Kickoff can look fine while discovery is a ghost factory.

    Done when: The weekly number has a denominator and an owner.

What an intern should wire first

Do not open Workflows. Print the event-type table. Create a throwaway Calendly booking with a fresh email. Confirm GHL shows the contact before the hour, with the stage Discovery booked, source tag separate from offer tag, and phone on the field you named. Screenshot the contact. If the calendar is full and the pipeline is empty, stop and fix write-in. You are not allowed to design a nurture until that screenshot exists.

What a CEO should refuse to fund

A second funnel, a paid ads bump, or a 'Calendly premium seat for the team' until write-in is 100% on test bookings. Paying for more event types when discovery does not create opportunities makes the leak more expensive. Ask: held ÷ booked by type, this week. If the answer is a story, the invoice is a login fee.

The usual failure

Someone connected the native integration in a hurry. Event types from a demo still exist. Reminders fire from Calendly and from a GHL workflow copied from a snapshot. No-shows stay on Booked. Sales lives in the calendar view. Monday reporting is a screenshot of Calendly occupancy, which is not show rate. That is a booking tool with a CRM sticker.

The test that proves it

Book Discovery as a stranger. Confirm one contact and one opportunity. Cancel. Confirm a recovery message and that the stage is not still Booked-as-if-they-will-appear. Book again, mark held, confirm the stage moves. If you needed to merge contacts, the identity key is wrong. Do not add a dedupe workflow. Fix the email match.

Why

Questions people actually ask

Pushback is normal

Why not keep reminders in both tools so nobody misses?

Duplicate nags train mute. Pick one clock. If GHL SMS is the confirmation, Calendly email reminders go off for that event type. Split by channel only if you have written who owns which message.

Can we leave native GHL calendar and Calendly both live?

Only if each job has one source of truth. Discovery on Calendly, internal kickoff on native — that can work if the spec says so. Two public booking links for the same job is how you double-book and under-write.

What if Calendly writes the contact but not the opportunity?

Then sales still lives in the calendar. Add the opportunity create/move on booking. A contact without a deal is a rolodex, not a pipeline.

This week

This week: one event type (Discovery) writes a contact and an opportunity. One reminder owner. One no-show test. Show rate named. No second event type until that is true.

Continue

Other connections

Same job: write-in
Wire

ScoreApp is a door. GoHighLevel is the follow-up.

A high score in a CSV is not a qualified opportunity.

Read ↗
Wire

A form is a writer, not a lead vault

If the thank-you does not change the contact, the page was a brochure.

Read ↗
Wire

Stripe is how Won becomes a fact

If paid lives in Stripe and the opportunity is still open, reporting is theatre.

Read ↗
Wire

Meta lead ads expire in minutes. GHL must be the router.

A lead sitting in Ads Manager is already someone else's booking.

Read ↗

Working notes

GHL Engine Checklist

The minimum CRM, pipeline, and nurture spec before you add more pages. Request the file. It arrives by email — not a public dump, not a drip of slogans.

Request the notes ↗
Next

If the leak is expensive, talk.

Email and WhatsApp stay open. A call is for installing the system — not for a tour of tools.