# Connecting Calendly

> The native Calendly integration — what it announces, how the notifications arrive on each Calendly plan (instantly or every 5 minutes), how Konverda recognises the person (by the link it sent them, then phone, then email), what to do with bookings that match nobody, the rule that tags, and what a flow can do with Calendly (send the booking link, cancel, mark a no-show).

Fuente / source: https://soporte.konverda.com/en/docs/developers/calendly
Idioma / language: en
Actualizado / updated: 2026-09-09

---
Calendly is a **native integration**: you authorise Konverda once from Calendly (OAuth) and Konverda learns about every booking and every cancellation. No Zapier in between, no URL to paste. It works with any Calendly plan, the free one included.

The card is in the app, under **«Ajustes → Integraciones → Calendly»** (settings → integrations → Calendly).

## Connecting {#connect}

:::pasos
1. On the Calendly card, press **«Conectar»** (connect) and authorise with the business's Calendly account. Only an owner can: the connection belongs to the **account**, not to a workspace.
2. On return, the workspace you connected from is linked. Another workspace of the same account links itself from its own card with **«Vincular»** (link).
3. Konverda subscribes to the booking and cancellation notifications by itself, and the card says how they arrive: **instantly** or **every 5 minutes**.
:::

## How the notifications arrive {#modes}

Konverda picks the best way your Calendly plan allows and the card says which. It is not a setting.

| Your Calendly plan | How the notifications arrive |
|---|---|
| Paid (Standard or above) | **Instantly.** Calendly tells Konverda the moment a booking or cancellation happens. |
| Free | **Every 5 minutes.** Calendly only sends instant notifications on a paid plan; meanwhile Konverda checks your bookings every 5 minutes, so you miss none. |

- On the free plan the card shows the last check, when the next one is due and how many bookings arrived today. When no new booking shows up for a while, Konverda spaces the checks out (up to every 30 minutes) and goes back to every 5 minutes with the first booking that appears.
- When you change plan, **instant notifications switch on by themselves**: Konverda retries once a day. In a hurry, press **«Reintentar avisos al instante»** (retry instant notifications) on the card; no need to disconnect.
- On a paid plan Konverda also re-checks the bookings once an hour in case a notification got lost on the way. You will not see it unless it finds something — then it simply shows up in the activity.

A booking never arrives twice, whichever way Konverda saw it.

## What arrives with each notification {#events}

The notifications show up in the **«Un sistema conectado avisa»** (a connected system announces) trigger under these stable names, from the moment you connect — before the first booking:

| Event | When |
|---|---|
| `calendly · booking.created` | Someone books a call or appointment. |
| `calendly · booking.canceled` | That person (or you) cancels it. |

Each notification carries: the phone the person left (the SMS-reminder number, or a phone-type question on the booking form), their email and name, the event type's name, the start and end times, and — on a cancellation — the reason.

## How Konverda finds the contact {#matching}

The order is fixed: **the link Konverda sent them first; then the phone; then the email.**

- **By the link.** When the booking link goes out from one of your flows, it carries an invisible mark identifying that contact (not their phone, not their email: a code that means something only inside your account). Calendly hands it back with the booking, so **the person is recognised even if they type another number or another address into the booking form** — which is what happens half the time. A code that belongs to none of your contacts is ignored: it falls through to the phone and the email as if none had arrived.
- **By phone and by email**, for the bookings that arrive on their own (somebody reaching your Calendly from your website, not from WhatsApp). Both must already exist in **«Contactos»** (contacts).
- **A notification never creates a contact.** A Calendly booking is not WhatsApp consent, so Konverda invents nobody: if none of the above matches, the booking appears under **«Reservas sin contacto»** (bookings with no contact — below) and triggers nothing.
- Matching is per workspace. If the account has several linked workspaces, a person known in two of them is found in both.
- An email shared by two contacts of the same workspace does not count as a match: Konverda would rather not guess than half-guess.

## Bookings with no contact {#unmatched}

On the Calendly card, inside **«Ajustes · Integraciones»** (settings · integrations), you get the list of bookings that arrived without Konverda being able to recognise the person: their name, the email they booked with, the event type and when it is. **Konverda never links on a similar name — that is your call**, because linking the wrong person fires a rule at the wrong human.

:::pasos
1. Press **«¿Quién es?»** (who is this?) on the booking. The contact picker opens already filtered by the name on the booking; you can search by phone or by part of the name if it is not there.
2. Leave **«Guardar el email … en este contacto»** (save the email on this contact) ticked so the next booking is recognised on its own. If that contact already had a different email, Konverda keeps it and tells you.
3. Press the contact. Whatever rule you have on that booking **fires right then**, exactly as if it had matched on arrival.
:::

If the booking belongs to nobody on your list, **«No es un contacto»** (not a contact) hides it: nothing is created and nothing is changed.

## The rule that tags {#rule}

The usual use: when someone books, tag them so the conversation takes over.

:::pasos
1. In **«Automatizaciones»** (automations), create a rule with the trigger **«Un sistema conectado avisa»** and pick `calendly · booking.created`.
2. As the action, pick a flow that adds the tag (for example `llamada-reservada`). If you have none, create one in **«Flujos»** (flows) with a single **«Etiquetar»** (tag) step.
3. For cancellations, another rule on `calendly · booking.canceled` with whatever tag you want (or a flow that removes one).
:::

Rules and flows triggered by a notification follow the same laws as the rest of the platform: they only reach **marketing contacts** (see [Marketing opt-in](/en/docs/contacts-and-consent/the-marketing-opt-in)), and no message leaves outside the 24-hour window without an approved template.

## What a flow can do with Calendly {#actions}

Notifications are one half; the other half are **actions**: what a flow (or a quick rule) can ask Calendly to do. In the flow editor the palette carries **one block per tool**: drag **Calendly** onto the canvas (or click it) and the first thing the step asks is **«¿Qué hacer con Calendly?»** (what should Calendly do?); what that action needs to know appears underneath. A quick rule works the same way, on the **«Acción»** (action) step. If Calendly is not connected, or this workspace is not linked, the block is greyed out with the reason and a link to **«Ajustes · Integraciones»** — it never vanishes without saying why.

| Action | What it does | Settings |
|---|---|---|
| **«Enviar enlace de reserva»** (send booking link) | Prepares the booking link and leaves it ready for the next message as `{{enlace_reserva}}`. | **Event type** (the list comes from your Calendly; «Actualizar» re-reads it) and, if you need it, **«Un solo uso»** (single use). |
| **«Ofrecer horas y reservar»** (offer times and book) | Offers your free times as a WhatsApp list and **books, on the contact's behalf**, the one they tap. | **Event type**, how far ahead to look, how many times, which part of the day, the question, how each time reads, and what to do when none is left. |
| **«Cancelar la reserva»** (cancel the booking) | Cancels, at Calendly, the contact's latest active booking Konverda knows about. | **Cancellation reason** (what Calendly shows the person). |
| **«Marcar no presentado»** (mark no-show) | Marks at Calendly that the contact did not show up to their latest known booking. | None — Calendly takes no reason here. |

### The booking link, step by step {#booking-link}

:::pasos
1. Drag **Calendly** into your flow, pick the action **«Enviar enlace de reserva»** and then the **event type**.
2. In the **next message**, write `{{enlace_reserva}}` where you want the link: «Reserva tu llamada aquí: {{enlace_reserva}}». The editor reminds you under the text field.
3. That is all: the link goes out carrying the mark that identifies that contact, so when they book you know it was them even if they type another number. **«Un solo uso»** is optional and does something else: it makes the link expire once they book, in case you do not want it forwarded. If your Calendly plan does not allow it, the ordinary link goes out — on any plan, the free one included, a link always goes out.
:::

- «Enviar enlace de reserva» only makes sense inside a flow: the link is sent by the message that follows. A quick rule does not offer it — a rule has no «next message».
- The link is always that event type's public one; what makes it personal is the mark it carries, not the link itself.
- «Cancelar la reserva» and «Marcar no presentado» act on **the contact's latest booking Konverda knows about** (the one that arrived as a notification and has not been cancelled). If there is none, the step notes it and does nothing else.

### Booking on the contact's behalf, from WhatsApp {#book-for-them}

With **«Ofrecer horas y reservar»** the person never leaves WhatsApp: Konverda reads your free times, shows them as a list, and the moment they tap one it books it for them. Calendly sends its usual confirmation email, and your next message confirms it in the chat.

:::aviso
**Booking on the contact's behalf needs a paid Calendly plan.** Calendly only opens that part of its API on paid plans. Nothing breaks on the free one: Konverda sends them the **booking link** so they can pick a time themselves, and the flow carries on through the exit you chose. The list of free times, on the other hand, works on any plan.
:::

:::pasos
1. Drag **Calendly** into your flow and pick the action **«Ofrecer horas y reservar»**. Choose the **event type**.
2. Set what they are shown: **how far ahead to look** (3, 7 or 14 days), **how many times to offer** (3 to 9 — WhatsApp allows ten rows and one of them is «none of these work»), **which times** (any time, mornings only, afternoons only) and **the question** that goes with the list.
3. In the **next message**, tell them what you just booked using the data the step leaves: `{{reserva.fecha}}`, `{{reserva.hora}}`, `{{reserva.evento}}` and `{{reserva.enlace}}`. For example: «Hecho: {{reserva.evento}} el {{reserva.fecha}} a las {{reserva.hora}}. Si necesitas cambiarla: {{reserva.enlace}}».
:::

Worth knowing:

- **Konverda spreads the times across days.** Ask for five and you do not get five Tuesday mornings: one per day goes out before any day repeats.
- **Times are shown in the contact's own hours**, not the server's. If you do not know their timezone, Konverda uses Spain's.
- **There is always a way out:** the last row of the list is **«Ninguna me va»** (none of these work — you can change the wording). If they tap it, or if no free time was left, the message you wrote under **«Si no queda ninguna hora»** goes out and the flow does what you set in **«Y después»** — usually **hand the conversation to a person**, because someone who asked for a time still wants one.
- **Konverda checks the time again before booking.** Hours can pass between the list and the tap, and someone else may have taken that slot. If that happens it shows what is left once more; if it happens again, it takes the exit above.
- **Calendly needs an email address to book.** If you do not have one, Konverda asks for it once, checks it and saves it on the contact **only if that field was empty** — it never overwrites an address you already had.
- **The booking is recorded once.** Even though Calendly notifies you about that same booking afterwards, your **«Reserva creada»** rules do not fire twice.
- This action **talks to the contact and waits for their answer**, so it only exists inside a flow. A quick rule shows it greyed out with the reason.

### If Calendly cannot do it {#on-error}

Every integration step has an exit for the case where Calendly is not connected, refuses the action or there is nothing to act on. You choose what happens:

- **«Detener el flujo y pasarlo al equipo»** (stop and hand to the team — the preselected choice): nobody gets a half-finished message; a person takes over the conversation and the run says why it stopped, in Calendly's own words.
- **«Seguir con el siguiente paso»** (continue with the next step): the flow goes on; what the action was going to leave stays empty (write `{{enlace_reserva|https://…}}` so a booking link still goes out in that case).

A flow never breaks because of an integration: what happened is recorded in the run's history.

## Disconnecting and reconnecting {#disconnect}

**«Desconectar»** (disconnect) revokes the authorisation at Calendly and **unlinks every workspace** of the account. Rules stay where they were, with nothing to trigger them, until an owner connects again.

If Calendly stops accepting the authorisation (someone revokes it, changes that account's password, it expires), the card turns **«Desconectada»** (disconnected) and the owners get a notification in the app and by email. **«Reconectar»** (reconnect) takes a minute and leaves the rules untouched.
