ВнешняяFreelancerRemote$30–$250 USD

Self-Hosted n8n CRM Automation: ClickUp-Whatsapp - 21/05/2026 03:02 EDT

Краткое

Freelancer Client is hiring: Self-Hosted n8n CRM Automation: ClickUp-Whatsapp - 21/05/2026 03:02 EDT.

Location: Remote

We are a plastic surgery clinic operating across two locations . We use ClickUp as our CRM to manage patient leads, and Whatsapp API (powered by Voxa) as our WhatsApp and phone communication platform. We need a complete, production-ready automation system built entirely on self-hosted n8n that keeps both platforms in perfect real-time sync.

What you'll do:

• Google Forms linked to Google Sheets for lead capture

• Every inbound WhatsApp message or phone call from an unregistered number must create a new ClickUp task in the correct location list based on the contact’s city field

• New tasks must be created with status OPEN and assigned via round-robin to one of the city coordinators based on both channels (clickup & whatsapp api) on consistent hash of phone number

• If the number already exists in ClickUp, no new task is created, instead a structured communication log comment is added to the existing task (channel, direction, time, duration, outcome, summary),

• All 16 ClickUp statuses must map to whatsapp api custom fields : OPEN, Follow Up 1–9, Wednesday Clinic, Saturday Clinic, Sunday Clinic, Procedure, Reserved, Build Relation, Disqualified, every change in any field on wither side should reflect on the other

• If new: create a ClickUp task in the correct city list, assign via round-robin on both ClickUp and whatsapp API , create a new Whatsapp API contact with all available fields populated

• All ClickUp custom fields must have exact matching custom properties created in Whatsapp API via POST /v1/contact-property-definitions

• Full field list to be created/mapped:

Requirements:

• Built entirely on n8n using standard nodes (Webhook, HTTP Request, Code, Switch, IF, Schedule)

• All credentials stored as environment variables — no hardcoded secrets in JSON

• Compatible with n8n v2.20.8 self-hosted Docker

• No third-party n8n community nodes — base nodes only

• Must include setup documentation covering: all webhook URLs to register in Whatsapp API and ClickUp, all environment variables required, how to trigger the migration, how to test each flow end to end

• ________________________________________

• ClickUp API: Available via ClickUp developer documentation

• Voxa API: Available via Voxa developer documentation (will be shared from our side upon hire)

Skills: Java, Data Processing, CRM, Docker, Documentation, Automation, API Integration, REST API, ClickUp, n8n

Budget: $30–$250 USD


Source: Freelancer Client via Remote / Online. Apply on the source website.

Оригинал

Project Overview
We are a plastic surgery clinic operating across two locations . We use ClickUp as our CRM to manage patient leads, and Whatsapp API (powered by Voxa) as our WhatsApp and phone communication platform. We need a complete, production-ready automation system built entirely on self-hosted n8n that keeps both platforms in perfect real-time sync.
________________________________________
CRITICAL ACCEPTANCE CONDITION — READ BEFORE BIDDING
This project will not be considered complete, and no deliverables will be considered received, under any circumstances, unless the entire system is fully working and jointly verified end-to-end by both the developer and our team in a live testing session. Submission of files, workflows, or documentation alone does not constitute delivery. The project is only accepted when every flow listed in this brief has been demonstrated to work correctly in our live production environment, in real time, with real data. Any partial functionality, workarounds, or "it works on my end" claims will not be accepted. Full working system or no delivery — there is no middle ground.

________________________________________
Tech Stack
• n8n self-hosted v2.20.8 on Ubuntu 22.04 via Docker
• ClickUp workspace with two lists corresponding to each of our two locations
• Voxa WhatsApp + phone platform
• Google Forms linked to Google Sheets for lead capture
• ClickUp API Key, Whatsapp API OAuth2 credentials, and server access will be provided upon hiring
________________________________________
Deliverables
1. Whatsapp API → ClickUp (Inbound Sync)
• Every inbound WhatsApp message or phone call from an unregistered number must create a new ClickUp task in the correct location list based on the contact’s city field
• New tasks must be created with status OPEN and assigned via round-robin to one of the city coordinators based on both channels (clickup & whatsapp api) on consistent hash of phone number
• If the number already exists in ClickUp, no new task is created, instead a structured communication log comment is added to the existing task (channel, direction, time, duration, outcome, summary),
• If the communication was two-way (client replied), the task status must automatically advance to Follow Up 1, so as with any successful tw way communication, moving the card from Follow UP x to Follow up X+1, unless the coordinator chose it not to move (we have a circle of 9 Follow ups)
• If one-way (no reply from client), the task stays at OPEN, until the coordinator chooses to change the status
2. ClickUp → Whatsapp API (Outbound Sync)and vice versa
• Any status change in fields or status on a ClickUp task must reflect immediately on the corresponding Whatsapp API contact's custom property and vice versa
• Any status change in fields or status on a Whatsapp API task must reflect immediately on the corresponding clickup contact's custom property and vice versa
• Any assignee change on ClickUp must update the assigned agent on the Whatsapp API conversation and vice versa
• Any custom field update on ClickUp must update the matching custom property on whatsapp api and vice versa
• All 16 ClickUp statuses must map to whatsapp api custom fields : OPEN, Follow Up 1–9, Wednesday Clinic, Saturday Clinic, Sunday Clinic, Procedure, Reserved, Build Relation, Disqualified, every change in any field on wither side should reflect on the other
3. Follow-Up Stage Progression
• Each successful two-way communication must automatically advance the ClickUp task to the next Follow Up stage (e.g. Follow Up 3 → Follow Up 4), capped at Follow Up 9
• Each stage change must trigger a structured comment log on the ClickUp task including a communication log
• Stage must reflect in real time on the Whatsapp API contact's properties
4. Google Form → ClickUp + Whatsapp api
• Google Form fields linked automatically sinced to a google sheet: Date of Submission (auto), Name, Phone Number, City, Service, Intended Timeline, Budget Range, linked to Google Sheets tab "Site Form"
• A Google Apps Script must POST every new submission to n8n
• n8n must check if the phone number already exists in ClickUp
• If exists: leave a tagged comment on the existing task for the assigned coordinator, and update Whatsapp API contact fields
• If new: create a ClickUp task in the correct city list, assign via round-robin on both ClickUp and whatsapp API , create a new Whatsapp API contact with all available fields populated
5. Custom Field Parity (ClickUp ↔ Hatif)
• All ClickUp custom fields must have exact matching custom properties created in Whatsapp API via POST /v1/contact-property-definitions
• Full field list to be created/mapped:
Field ClickUp Type Whatsapp API Type
Phone Phone Text
Client Name Short Text Text
Age Number Number
Weight Short Text Text
Height Number Number
BMI Number Number
Max Weight Reached Number Number
Gender Dropdown Select
Nationality Location Text
Saudi or Foreigner Dropdown Select
Residential City Location Text
Marital Status Dropdown Select
Occupation Short Text Text
Lead Medium Dropdown Select
Portal Source Dropdown Select
Services Labels Text
Stage/Status Dropdown Select
Clinic Reservation Date Date Date
Operation Date Date Date
Reason for Disqualification Dropdown Select
Chronic Diseases Labels Text
Smoker Dropdown Select
Has Stretch Marks Dropdown Select
Past Medical History Text Text
Past Operational History Text Text
Previous Pregnancies Short Text Text
Sick Leave Needed Dropdown Select
Min Cost Currency Number
Max Cost Currency Number
ClickUp Task ID Short Text Text
Follow Up Date 1–9 Date × 9 Date × 9
• Special naming rule: Whatsapp API contact Name field always mirrors ClickUp Task and vice versa
• Name. The ClickUp field 0-Client Name maps to a separate Whatsapp API property called "Client Name"
• Any new custom field added to ClickUp in the future must automatically trigger creation of a matching property in the Whatsapp api tool
• Any field deleted from ClickUp must trigger deletion of the matching Whatsapp API property, this capability should be limited to admins
6. Initial Historical Data Migration
• A manually-triggerable n8n workflow that fetches ALL existing tasks from both ClickUp location lists
• For each task: check if a Whatsapp API contact with the same phone number already exists
• If exists: update with all mapped fields from ClickUp
• If not: create a new Whatsapp API contact with all fields populated
• Must process in batches to avoid rate limits
• Must produce a reconciliation log showing: total tasks processed, contacts created, contacts updated, contacts skipped, errors
• All Custom fields should be created and synced within the initial cycle
7. Loop Guard & Deduplication
• All sync flows must include a loop guard preventing infinite sync cycles
• Events originating from the automation itself must be tagged and ignored on receipt
8. Automatic Token Management
• Whatsapp API uses OAuth2 client credentials expiring every 15 days
• A scheduled n8n workflow must refresh the token automatically every 14 days
• All Whatsapp API API calls must use the stored token dynamically via n8n static data
9. Assignment Sync
• Coordinator assignment on ClickUp must mirror to Whatsapp API agent assignment
• Round-robin must be hash-based (same phone = same coordinator always on all platforms , any change in assignment should reflect on all platforms)
• Coordinator mapping between ClickUp user IDs and Whatsapp API agent IDs must be configurable
10. Communication Logging
• Every WhatsApp message or phone call must be logged as a structured comment on the ClickUp task
• Log must include: Channel, Direction, Started At, Concluded At, Duration, Outcome, Agent, Summary
• Log must simultaneously update the Whatsapp API contact's status property
________________________________________
Workflow Architecture Required
Delivered as separate importable n8n JSON files:
File Purpose
hatiftoclickup.json All Whatsapp API inbound events → ClickUp
clickuptohatif.json All ClickUp changes → Hatif
form_ingestion.json Google Form → ClickUp + Hatif
token_refresh.json Auto Whatsapp API token renewal
initial_migration.json One-time historical data sync
field_sync.json ClickUp field additions/deletions → Hatif
________________________________________
Technical Requirements
• Built entirely on n8n using standard nodes (Webhook, HTTP Request, Code, Switch, IF, Schedule)
• All credentials stored as environment variables — no hardcoded secrets in JSON
• Compatible with n8n v2.20.8 self-hosted Docker
• No third-party n8n community nodes — base nodes only
• Must include setup documentation covering: all webhook URLs to register in Whatsapp API and ClickUp, all environment variables required, how to trigger the migration, how to test each flow end to end
________________________________________
API References
• ClickUp API: Available via ClickUp developer documentation
• Voxa API: Available via Voxa developer documentation (will be shared from our side upon hire)
• Auth token endpoint: POST to the Voxa OAuth2 token endpoint (OAuth2 client credentials, scope: VoxaAPI) — endpoint will be shared upon hiring
• Whatsapp API docs: Available via developer portal (password-protected , will be shared with hired freelancer)
________________________________________
Ideal Candidate
• Minimum 3 years experience with n8n self-hosted workflows
• Proven experience with REST API integration including OAuth2 and webhook-based architectures
• Experience with ClickUp API and Google Apps Script
• Able to test and verify each flow end-to-end before delivery
• Familiarity with WhatsApp business platforms (Chatwoot, Voxa, or similar) is a strong plus
• Must provide examples of similar bidirectional sync automation projects

Локация & Details

ИсточникFreelancer
Бюджет$30–$250 USD
ЛокацияRemote
Дата публикации2026-05-21 07:21:23
JavaData ProcessingCRMDockerDocumentationAutomationAPI IntegrationREST APIClickUpn8n
Перейти к источнику →

About this listing

This remote opportunity was imported from Freelancer and is shown here for discovery. To apply, follow the link to the original posting.

Skills mentioned:
JavaData ProcessingCRMDockerDocumentationAutomationAPI IntegrationREST APIClickUpn8n