ClickUp Integration – User Guide
Connect ClickUp to Launch365 to import task data into Launch365 contact fields, trigger automations from ClickUp task activity, and optionally sync selected Launch365 contact updates back to ClickUp.
Overview
The ClickUp integration helps teams use a ClickUp List as a source of account, customer, or project data inside Launch365.
With the integration connected, Launch365 can:
- import ClickUp tasks from a selected Workspace, Space, Folder, and List
- map ClickUp standard task fields and custom fields into Launch365 contact fields
- link ClickUp tasks to existing Launch365 contacts by mapped email or mobile number
- import ClickUp task tags into Launch365 tags
- receive signed ClickUp webhooks for automation triggers
- trigger automations when tasks are created, updated, deleted, reassigned, retagged, or moved through statuses
- optionally write selected Launch365 contact field changes back to the linked ClickUp task
Prerequisites
Before setting up the integration, make sure you have:
- access to the Integrations module in Launch365
- access to the ClickUp Workspace and List you want to sync
- either ClickUp OAuth access or a ClickUp personal API token
- the ClickUp List that contains the account/customer/task records you want to import
- Launch365 custom fields created for any ClickUp fields you want to store on contacts
Important: field mapping is List-specific. ClickUp custom fields are loaded from the selected ClickUp List, so select the actual API List rather than copying folder, view, or browser URL IDs.
How the Integration Works
Import direction: ClickUp to Launch365
When you run an import, Launch365 fetches ClickUp tasks from the selected List and stores a local ClickUp task record for each task.
During import, Launch365:
- reads standard task fields such as task name, status, priority, dates, tags, assignees, and URL
- reads custom fields from the selected ClickUp List
- applies your field mappings
- tries to match each task to an existing Launch365 contact when mapped email or mobile fields match
- writes mapped values to the matched contact
- updates the import progress bar with fetched, processed, created, updated, and error counts
If a task cannot be matched to a contact, Launch365 still stores the ClickUp task record, but it will not write mapped customer fields until a contact match exists.
Automation direction: ClickUp to Launch365
ClickUp sends signed webhook events to Launch365. Launch365 verifies the webhook signature, refreshes the affected task when needed, and then sends an automation payload into the automation engine.
Supported automation triggers:
- ClickUp task created
- ClickUp task updated
- ClickUp task deleted
- ClickUp task status updated
- ClickUp task assignee updated
- ClickUp task tag updated
Automation payload fields include task ID, custom task ID, task name, description, status, priority, due date, start date, URL, Workspace, Space, Folder, List, changed field, before/after values, actor, assignees, assignee emails, tags, mapped values, and raw ClickUp payload data.
Writeback direction: Launch365 to ClickUp
When writeback is enabled, Launch365 can sync selected contact field changes back to linked ClickUp tasks.
Writeback only runs when:
- the ClickUp integration is connected
- Sync LaunchSMS changes back to ClickUp is enabled
- the contact is linked to one or more imported ClickUp tasks
- the mapped field has its Writeback checkbox enabled
- the Launch365 value has changed since the last writeback
Writeback runs in the background after the contact is saved.
Setup
Step 1: Open the ClickUp Integration
In Launch365, go to:
Settings -> Integrations -> ClickUp
The direct app path is:
https://go.launchsms.com/company/integrations/clickup
Step 2: Connect ClickUp
Use one of the available connection methods.
OAuth:
- Click Connect with ClickUp OAuth
- Approve access in ClickUp
- Return to Launch365
Personal token:
- In ClickUp, create or copy a personal API token
- In Launch365, paste the token into the ClickUp token field
- Click Connect ClickUp
Personal ClickUp tokens usually start with pk_. Launch365 encrypts saved tokens at rest.
OAuth redirect URI:
https://go.launchsms.com/callback/clickup
If you are setting up a different environment, use the redirect URI shown on the ClickUp integration page for that environment.
Step 3: Select the Sync Scope
In Sync Scope and Mappings, choose:
- Workspace
- Space
- Folder
- List
Optional settings:
- Import closed tasks: include closed ClickUp tasks during import
- Import subtasks: include subtasks during import
- Optional Task ID: limit webhook scope to one task when needed
Save the settings after choosing the List. Launch365 will load the ClickUp custom fields available on that List.
Step 4: Register the Webhook
Click Register / Sync Webhook.
Launch365 registers the webhook in ClickUp and stores the webhook signing secret. The receiver URL is shown in the Webhook card.
The integration registers these ClickUp events:
- taskCreated
- taskUpdated
- taskDeleted
- taskStatusUpdated
- taskAssigneeUpdated
- taskTagUpdated
The Recent Webhook Events table shows incoming events after ClickUp starts sending them.
Custom Field Creation
Before mapping ClickUp data into Launch365, create or confirm the Launch365 fields you want to receive the data.
Recommended field type choices:
| ClickUp field type | Recommended Launch365 field type | Notes |
|---|---|---|
| Text, email, phone, URL | Text, Email, Phone, or URL | Match the Launch365 type to the content when possible. |
| Long text | Long Text | Use for descriptions, notes, or large text blocks. |
| Dropdown | Single Select | Launch365 stores the selected label, not the raw ClickUp option ID. |
| Labels / multi-select | Multi Select | Launch365 creates/uses matching option labels such as HVAC or Electrician. |
| Checkbox | Checkbox | Checked values import as enabled/true. |
| Date | Date | ClickUp timestamps are converted to dates. |
| Number | Number | Use for counts, amounts, or numeric custom fields. |
| Location | Text | Launch365 stores the formatted address when ClickUp provides one. |
Option fields
For ClickUp dropdown or label fields, Launch365 resolves ClickUp option IDs into readable labels before saving.
Example:
- ClickUp stores raw option IDs internally.
- ClickUp displays HVAC and Electrician.
- Launch365 stores/displays HVAC and Electrician, not UUIDs.
If a Launch365 select field is missing an imported option, Launch365 can create a matching option during import so the contact page displays readable values.
Field Mapping
Field mapping controls where each ClickUp value is stored in Launch365.
What appears in the mapping list
The mapping table includes:
- standard ClickUp task fields, such as Task ID, Task Name, Description, Status, Priority, Due Date, Tags, Assignees, and URL
- ClickUp custom fields from the selected List
- Launch365 customer fields
- Launch365 custom fields
If no ClickUp custom fields appear, confirm that the selected List is the actual List that contains the custom fields. Browser URL path values are not always valid API List IDs.
Recommended identity mappings
Map at least one identity field so Launch365 can match ClickUp tasks to existing contacts:
| ClickUp value | Launch365 target |
|---|---|
| Primary Email or Email custom field | Customer Email |
| Mobile Phone or Company Phone | Customer Mobile Number |
Email and mobile mappings are also used for matching, not only for display.
Common account mappings
Example mappings for account-style ClickUp Lists:
| ClickUp field | Launch365 target |
|---|---|
| Task Name or Company Name | Company Name or Business Name |
| Primary Contact | Contact Name |
| Primary Email | |
| Mobile Phone / Company Phone | Mobile Number |
| Website URL | Website URL |
| Location | Location / Address text field |
| Account Tier | Account Tier single-select field |
| Vertical(s) | Vertical(s) multi-select field |
| Tags | Customer Tags |
| Status | Status text or select field |
| DMM Assigned / Sales Rep | Text or multi-select field |
Import behavior
After mappings are saved, click Import Now.
The import runs in the background and shows:
- status
- progress message
- processed rows
- total rows
- created count
- updated count
- error count
- last UI refresh time
- last backend update time
You can leave the page open while it runs. If the import stalls for more than 10 minutes without progress, Launch365 marks it failed so it does not appear stuck indefinitely.
Writeback Functionality
Writeback lets Launch365 update linked ClickUp tasks after a Launch365 contact is edited.
This is useful when Launch365 becomes the operating source of truth for selected contact fields, while ClickUp remains the project/account workspace.
How to enable writeback
- Go to Settings -> Integrations -> ClickUp
- Enable Sync LaunchSMS changes back to ClickUp
- In the field mapping table, enable Writeback only for fields you want Launch365 to update in ClickUp
- Click Save ClickUp Settings
Both the global writeback checkbox and the per-field writeback checkbox must be enabled.
Supported writeback fields
Launch365 can write back:
- Task Name
- Description
- Status
- Priority
- Due Date
- Start Date
- Tags
- ClickUp text-like custom fields
- ClickUp dropdown custom fields
- ClickUp labels custom fields
- ClickUp checkbox custom fields
- ClickUp date custom fields
- ClickUp number custom fields
Not currently written back
These ClickUp fields are intentionally not written back in this phase:
- assignees
- assignee emails
- people/user custom fields
- file fields
- relationship fields
- task relationship fields
- location objects
- activity/comments/notes
These fields require ClickUp-specific object IDs or a separate activity/comment sync design.
Tag writeback behavior
When writeback is enabled for Tags, Launch365 treats Launch365 tags as the source of truth for the linked ClickUp task.
That means Launch365 will:
- add ClickUp tags that exist on the Launch365 contact
- remove ClickUp tags that are not on the Launch365 contact
Only enable tag writeback when that is the desired behavior.
Select and multi-select writeback behavior
For dropdown and labels fields, Launch365 maps readable Launch365 option labels back to the matching ClickUp option IDs.
Example:
- Launch365 value: HVAC, Electrician
- ClickUp labels field options: HVAC, Electrician
- Writeback sends the matching ClickUp option IDs to ClickUp
The option labels must match closely. If ClickUp uses Electrical and Launch365 uses Electrician, update one side so the labels match before relying on writeback.
Automation Triggers
After the webhook is registered, ClickUp events are available as automation triggers.
Available triggers
| Launch365 trigger | ClickUp event |
|---|---|
| ClickUp task created | taskCreated |
| ClickUp task updated | taskUpdated |
| ClickUp task deleted | taskDeleted |
| ClickUp task status updated | taskStatusUpdated |
| ClickUp task assignee updated | taskAssigneeUpdated |
| ClickUp task tag updated | taskTagUpdated |
Creating an automation
- Go to Automations
- Create or edit an automation
- Choose a ClickUp trigger
- Add filters or conditions if needed
- Add the actions you want to run
- Save and test the automation
Useful automation fields
Common ClickUp merge fields include:
- clickup_event
- clickup_task_id
- clickup_task_custom_id
- clickup_task_name
- clickup_task_description
- clickup_task_status
- clickup_task_priority
- clickup_task_due_at
- clickup_task_start_at
- clickup_task_url
- clickup_team_name
- clickup_space_name
- clickup_folder_name
- clickup_list_name
- clickup_changed_field
- clickup_before
- clickup_after
- clickup_actor_name
- clickup_actor_email
- clickup_task_assignees
- clickup_task_assignee_emails
- clickup_task_tags
Recommended Setup Order
- Create any needed Launch365 custom fields.
- Connect ClickUp with OAuth or a personal token.
- Select the Workspace, Space, Folder, and List.
- Save settings so Launch365 can load the List custom fields.
- Map identity fields first, especially email or mobile.
- Map account/contact fields.
- Save mappings.
- Register or sync the webhook.
- Run Import Now.
- Confirm imported data on a matched contact.
- Create or enable ClickUp automations.
- Enable writeback only for fields where Launch365 should update ClickUp.
Testing Checklist
Use this checklist after setup:
- Confirm the ClickUp connection card shows the connected user and email.
- Confirm the correct Workspace and List are selected.
- Confirm ClickUp custom fields appear in the mapping table.
- Confirm at least one email or mobile mapping exists.
- Run Import Now.
- Watch the progress bar until the import completes.
- Open a matched Launch365 contact and confirm mapped fields display readable values.
- In ClickUp, update a task status or tag.
- Confirm the event appears in Recent Webhook Events.
- Confirm a ClickUp automation trigger can fire from the event.
- If writeback is enabled, edit a mapped Launch365 field and confirm the linked ClickUp task updates.
Troubleshooting
| Issue | Likely cause | Fix |
|---|---|---|
| ClickUp custom fields are missing | The selected List is incorrect or not saved | Use the Workspace/Space/Folder/List picker, save settings, then reload the mapping section. |
| List ID invalid | A browser URL token was pasted instead of the API List ID | Select the List from the picker instead of copying from the browser URL. |
| Import button opens an error page | Import route was accessed with GET or a stale page state | Use the Import Now button from the ClickUp integration page. |
| Import stalls | Queue worker is not running or ClickUp API requests are slow | Confirm the database queue worker is running and check the import progress/error count. |
| Progress bar does not move | Backend job has not updated the import record | Wait briefly, refresh the page, and check whether the import was marked failed after 10 minutes. |
| Imported dropdown values show IDs or UUIDs | Option lookup could not resolve labels | Confirm the selected List contains the option catalog and rerun import. |
| Multi-select fields display as one long value | Launch365 target field is not a multi-select field | Change the Launch365 custom field type to multi-select and remap/import again. |
| Location displays as JSON | ClickUp did not provide a formatted address or the target field is receiving the raw object | Map location to a text field and rerun import after confirming ClickUp has a formatted address. |
| Tasks do not link to contacts | No mapped email or mobile value matches an existing contact | Map a ClickUp email or phone field to Launch365 email/mobile and reimport. |
| Webhook events do not appear | Webhook is not registered or ClickUp cannot reach the receiver URL | Click Register / Sync Webhook and confirm the webhook status is active. |
| Webhook signature errors | ClickUp webhook secret does not match the stored webhook | Register/sync the webhook again so Launch365 stores the current secret. |
| Automation triggers are not available | ClickUp is not connected for the company | Reconnect ClickUp and reload the automation builder. |
| Writeback does not run | Global writeback or per-field writeback is off | Enable Sync LaunchSMS changes back to ClickUp and the field’s Writeback checkbox. |
| Writeback skips a contact | The contact is not linked to an imported ClickUp task | Import tasks and confirm the task matched the contact by email or mobile. |
| Dropdown writeback does not update ClickUp | Launch365 option label does not match a ClickUp option label | Align the option labels on both sides and save the contact again. |
| Tags disappear in ClickUp after writeback | Tags are enabled for exact writeback sync | Disable tag writeback if ClickUp-only tags should be preserved. |
Support Notes
For support or engineering review:
- ClickUp integration page: /company/integrations/clickup
- OAuth callback route: /callback/clickup
- Webhook receiver route: /clickup/webhook/{webhook_key}
- Import jobs run through the database queue on the default queue.
- Writeback jobs run through the database queue on the default queue after a contact edit.
- Import progress records use ContactImport rows with progress beginning ClickUp task import:.
- Writeback status is stored on the integration and linked task records.
- Webhook events are verified with ClickUp’s X-Signature HMAC signature before processing.
Best Practices
- Start with a small ClickUp List or one test task before importing a large List.
- Map identity fields first so Launch365 can safely link tasks to contacts.
- Use Launch365 select and multi-select fields for ClickUp dropdown and label fields.
- Keep option labels consistent between ClickUp and Launch365 when using writeback.
- Enable writeback field-by-field instead of enabling every mapped field at once.
- Avoid enabling tag writeback unless Launch365 should control ClickUp task tags.
- Use automations for event-driven workflows, not bulk historical import behavior.
Last updated: June 2026