Automate Calendly to ClickUp tasks in Make.com: map custom fields, dedupe by Calendly ID, assign owners, and notify Slack for every booking.
Introduction
If you run bookings through Calendly, the annoying part usually starts after someone schedules. Manually creating ClickUp tasks, copying attendee details into task descriptions, and then pinging the right Slack channel is the kind of admin work that quietly eats hours every week.
In this Cross-Platform Automation (XPA) guide, you will build an automation that triggers on every new Calendly booking, creates the matching ClickUp task with mapped custom fields, assigns the correct owner, and posts a Slack message with the ClickUp link. By the end, you will know exactly how to wire the logic in Make.com and avoid the most common duplication and timezone mistakes.
What You'll Need
- Make.com account, with access to scenarios, module connections, and error handling
- Calendly account with permissions to configure webhooks, or the ability to use the Make.com Calendly trigger
- ClickUp account with permissions to create tasks and set custom fields
- Slack workspace, plus a Slack app or bot permission to post messages to your target channel (or DM)
- A consistent mapping decision:
- Which ClickUp List (Space, Folder, List) will receive these generated tasks
- Which ClickUp owner each Calendly meeting should route to, based on either host or event type
How It Works (The Logic)
When you create a booking in Calendly, Make.com receives the booking event. Make.com then:
- Normalizes the booking data, especially the start time and timezone
- Searches ClickUp for an existing task using the Calendly appointment ID
- Creates or updates the ClickUp task and sets custom fields
- Sends a Slack message including the ClickUp task link and key booking details
The key reliability trick is idempotency: you treat the Calendly appointment ID as the unique key, so retries or webhook replays do not create duplicate ClickUp tasks.
Step-by-Step Setup
1) Create the Make.com scenario
- In Make.com, create a new scenario.
- Name it something you will recognize later, for example
Calendly → ClickUp Tasks + Slack Notification.
2) Add the Calendly trigger
- Add a Calendly module as the trigger.
- Select the booking event you want to capture (commonly
Event Scheduledor the equivalent “watch webhook” trigger). - If you can filter early, filter to the specific Calendly event types that should become tasks.
Gotcha: If you do not filter, your ClickUp list becomes a dumping ground for every Calendly event you ever create.
3) Normalize and build the ClickUp payload
- Add a data transformation step (Data store tool, Text or Date parsing, or a mapping layer using Make’s tools).
- Map fields into a clean internal structure, for example:
task_name=[Calendly] {event type} - {invitee name}description= invitee name, email, start time, and any Calendly questions or linksstart_time_utc= convert Calendly start time into UTC (or your chosen standard)calendly_appointment_id= the unique appointment ID from Calendly
Gotcha: Do not mix timezone formats. Pick one standard for ClickUp date/time fields, then convert once in Make.
4) Deduplicate with Calendly appointment ID
- Add a ClickUp module to search or list tasks in your target List.
- Filter by a custom field you will use as the dedupe key, for example
Calendly Appointment ID. - Route the flow:
- If a matching task exists, go to the
Update Taskpath - If none exists, go to the
Create Taskpath
- If a matching task exists, go to the
5) Create the ClickUp task
In the Create Task path:
- Choose the correct Space, Folder, and List.
- Set:
- Task name =
task_name - Description =
description - Start date/time =
start_time_utc - Assignee =
assignee_user_id(you will compute this next) - Status = your initial status (commonly
New)
- Task name =
6) Route to the correct ClickUp assignee
This is where you make the automation match your org.
- Pick a routing key:
- Calendly host, or
- Calendly event type
- Create a deterministic mapping step:
- Use a route/switch by event type/host, or
- Use a mapping table (Make variable mapping, or an external table like Google Sheets/Airtable if you want non-technical updates)
- Output the ClickUp user ID that the ClickUp connector expects.
Gotcha: Names often do not match ClickUp user IDs. Use IDs if your connector supports them.
7) Set ClickUp custom fields (use IDs carefully)
In both the create and update paths, set custom fields like:
Invitee NameInvitee EmailMeeting Type(select)Calendly Appointment ID(text, used for dedupe)Timezone- Optional:
Duration,Meeting Link, or any specific question responses
Make sure you map to the correct ClickUp custom field definitions, especially if you have similarly named fields.
8) Post to Slack after ClickUp succeeds
Add a Slack module at the end of the successful path (create and update can share the same Slack step if the payload is consistent).
- Choose the channel, for example
#sales-leadsor#intake. - Build a compact message including:
- “New/Updated Calendly booking task in ClickUp”
- Invitee name, event type, start time
- ClickUp task link
- Assignee (optional)
Gotcha: Only send Slack after the ClickUp operation completes successfully.
9) Add error handling and an alert channel
- Configure scenario-level error handling in Make.com.
- Create an error notification route that posts to a dedicated Slack channel like
#automation-alerts. - Keep retries enabled for transient errors, especially API timeouts.
10) Test with one real booking and a retry
- Book a test slot in Calendly.
- Confirm you get exactly one ClickUp task with:
- correct fields
- correct assignee
- correct Slack message and task link
- Re-trigger or retry, then confirm deduplication prevents a second task.
Real-World Business Scenario
A boutique UK marketing agency runs weekly discovery calls in Calendly. Before automation, an admin copied attendee details into a ClickUp task and then messaged the consultant in Slack. Two issues kept coming up: missing fields and delayed handoffs.
With the Calendly to ClickUp XPA built in Make.com, every booking created a task in a dedicated ClickUp List. Custom fields like invitee email, meeting type, and the Calendly appointment ID were populated automatically. Slack notifications included the ClickUp link so consultants could jump straight into the task. Admin time dropped because follow-ups became exceptions, not daily work.
Common Variations
-
Slack follow-up on status change
- Add a ClickUp trigger for status transitions (for example
New → Qualified) and post a second Slack message.
- Add a ClickUp trigger for status transitions (for example
-
Generate documents and attach a link
- After task creation, generate a pre-call agenda using a template tool and put the link in the ClickUp description.
-
Route by meeting type to different teams
- Use the meeting type to send tasks to different ClickUp Lists and notify different Slack channels.
What you built, and why it stays reliable
You built a Make.com automation that turns Calendly bookings into ClickUp tasks and informs the right people in Slack. The core reliability mechanism is deduplication by Calendly appointment ID, plus strict sequencing so Slack only fires after ClickUp succeeds.
Olmec Dynamics builds these Cross-Platform Automation (XPA) workflows for real businesses when you need dependable scheduling-to-workflow automation, not fragile copy-and-paste handoffs. If you want more examples and patterns, you can see Cross-Platform Automation (XPA) on our site, and work with Olmec Dynamics.
Internal notes: no related Olmec Dynamics blog posts were found for this exact Calendly → ClickUp → Slack topic during the internal search step.