Olmec Dynamics
H
·6 min read

How to Create ClickUp Tasks Automatically From Calendly Bookings

Automate ClickUp task creation when a Calendly booking occurs. Step-by-step webhook, mapping, and ClickUp API tips for advanced builders.

Introduction

You run client calls from Calendly but then spend time copying booking details into ClickUp, assigning owners, and setting priorities. That manual handoff creates delays and mistakes: wrong assignee, missing custom fields, and forgotten follow ups.

This guide shows how to build an advanced Calendly to ClickUp automation that creates a fully populated task every time a booking is made, including custom field values, assignee logic, and retry handling. By the end you will have a repeatable Make.com scenario that turns Calendly invitee.created webhooks into production ClickUp tasks.

What You'll Need

  • Calendly account with webhooks enabled (Calendly Pro or higher for webhook subscriptions). Make sure you can create webhook subscriptions in your Calendly organisation.
  • ClickUp account with API access and a target List ID where tasks will be created. You need permissions to create tasks and write custom fields in that list.
  • Make.com account (formerly Integromat) with webhook, HTTP, and ClickUp modules. A paid Make.com plan is required if you expect high volume or need routers and multiple iterators.
  • Basic JSON familiarity and access to a server time zone setting if you set timestamps.

How It Works (The Logic)

When Calendly emits an invitee.created webhook, Make.com receives it via an incoming webhook module, normalises the payload, optionally fetches full invitee details from Calendly using the provided URI, then calls ClickUp to create a task in a specified list. The scenario sets name, description, assignees, due date, and custom fields. If ClickUp returns an error, Make.com retries and logs failures to a Google Sheet or Slack channel for manual review.

Step-by-Step Setup

  1. Create the incoming webhook in Make.com
  • In Make.com, add a new scenario and start with the "Webhooks" app using the "Custom webhook" trigger. Name it "Calendly Invitee Created" and copy the webhook URL.
  • In Calendly, create a webhook subscription for the event type invitee.created and paste the Make.com webhook URL. Select JSON payload and save.
  • Test by booking a dummy event on your Calendly event type. Make sure Make.com receives a sample payload.
  1. Parse and normalise the Calendly payload
  • Add a JSON parsing/mapper module in Make.com (use the built-in JSON module or a "Set variable" module) to extract these fields: payload.event.uuid, payload.event.start_time, payload.event.end_time, payload.event.location, payload.invitee.name, payload.invitee.email, and payload.invitee.questions_and_answers for routing form answers.
  • Common gotcha: Calendly payloads often include a link to fetch full invitee details. If answers are missing from the initial payload, add an HTTP GET module to the Calendly scheduled_event invitee URI using your Calendly API key to fetch the complete invitee record.
  1. Build assignee and priority logic
  • Add a Router module to branch logic. Example branches:
    • If the booking is for "Sales Call" (match event type or a custom answer), set assignee to the sales lead ID and priority to 2.
    • If routing form contains "Support: yes", set assignee to the support Slack on-call user and priority to 1.
  • Implement these checks with Make.com "Filter" conditions on the router. Use exact field mappings from the parsed payload.
  • Gotcha: ClickUp assignees are integer user IDs. Keep a lookup table in Google Sheets or Make.com variables mapping team emails to ClickUp user IDs.
  1. Prepare ClickUp create-task payload
  • Use the ClickUp module "Create a Task" (Make.com ClickUp app). Set these fields:
    • List ID: your target list (path param)
    • Name: "Call: {{invitee.name}} — {{event_start_time}}"
    • Description: include booking URL, invitee email, calendar notes, and a short routing-form summary. Map description to a multi-line string in Make.com.
    • Assignees: the integer ID from your lookup
    • Due date: if the booking includes follow-up deadline, convert Calendly start_time + X days to Unix milliseconds and map to due_date
    • Custom fields: pass an array of custom field objects. Use the ClickUp custom field ID and value mapping. Example mapping in Make.com: custom_fields = [{"id":"12345","value":"Prospect"},{"id":"23456","value":42}]
  • Common gotcha: ClickUp requires timestamps in milliseconds. In Make.com, use the date/time functions to convert ISO strings to epoch milliseconds.
  1. Add error handling and retries
  • Wrap the Create Task call in a flow that captures HTTP status codes. If ClickUp returns 429 or 5xx, use Make.com’s built-in retry or add a Sleep module then re-call the HTTP/ClickUp module.
  • For permanent failures (4xx), route the record to a Google Sheet or Slack module with the raw payload and error message so an ops user can review.
  1. Optional enrichment and subtask creation
  • After task creation, you may want to add a checklist or create subtasks for pre-call items. Use the ClickUp "Create Checklist" or second "Create Task" call with parent set to the newly created task ID.
  • If you need meeting links stored in a custom field, parse payload.event.location or the invitee.cancellation payload and write the link into the ClickUp custom field.
  1. Test and deploy
  • Run multiple booking tests with different routing form answers and event types. Verify ClickUp task fields, custom field values, assigned user, and due dates.
  • Turn the scenario on. Monitor Make.com execution history for the first 48 hours to detect mapping errors.

Real-World Business Scenario

A B2B consultancy I worked with replaced manual intake after bookings. Before the automation, an operations manager spent 6 hours per week creating tasks and assigning follow-ups. After this Calendly to ClickUp setup, every client booking generated a ClickUp task with the prospect tier, onboarding checklist, and correct assignee. They cut admin time to 30 minutes weekly and reduced missed pre-call tasks to zero.

Common Variations

  • Use ClickUp custom field conditional logic: only set a high-priority custom field if the routing form marks the lead as "Enterprise."
  • Create a Google Calendar event or update an internal CRM record after task creation by adding Google Calendar or HubSpot modules in Make.com.
  • Add an OpenAI step to summarise the routing form answers into a short brief in the task description.

What this delivers and next steps

You built an advanced Calendly to ClickUp automation that converts every booking into a tracked, assigned ClickUp task with mapped custom fields and retry handling. This removes manual copying and ensures each booking triggers the right follow-up.

If you prefer to hand this build to a specialist, Olmec Dynamics builds and optimises these exact automations for teams, you can see more about our services at https://olmecdynamics.com. Our team can adapt the scenario to multi-account ClickUp setups, complicated custom field schemas, and high-volume webhook routing.