The Problem
A 3D and XR studio in Australia was creating ClickUp project tasks by hand every time a HubSpot deal moved to In Production. Each task needed a long set of fields filled out and the right ClickUp list picked based on which product the customer bought. The CEO had tried to build the automation himself and couldn't crack the duplication problem: the same deal kept firing the workflow over and over, creating duplicate tasks and breaking the project board.
The Build
The client already ran their automations in Make, so I built the system there to fit the existing stack instead of forcing a tool change. The main scenario watches HubSpot for any deal moved into the In Production stage, then routes it through a chain of conditions that pick the right ClickUp list based on the deal's Interested In product. To kill the duplication problem, I write the new ClickUp task ID back to a custom field on the HubSpot deal as soon as the task gets created. Every subsequent run of the scenario checks that field first: if the task already exists, it skips. If not, it creates. The created task carries the deal's full context, a HubSpot Breeze AI summary of the deal so the production team gets the picture without opening HubSpot, and a direct link back to the source deal. A Slack notification fires the moment the task lands, carrying the deal name, brief project context, links to both the HubSpot deal and the new ClickUp task, and a tag for the assigned project manager so they see the work in their feed without anyone forwarding it. After the main system shipped, I added two patches: a back-fill scenario that pulled existing deals with a ClickUp task ID and updated those tasks with their HubSpot deal URL, and a reverse-direction sync that watches ClickUp task status changes and writes them to a custom Project Status field on the HubSpot deal. ClickUp is the source of truth for project status; the HubSpot field mirrors it so the sales side can see project state without opening ClickUp.
The Outcome
Production tasks land in ClickUp the moment a deal moves to In Production, with the right list, the right fields, a Breeze AI summary, and a link back to the deal. The duplication chain that broke the CEO's first build never fires twice on the same deal because the HubSpot custom field acts as a write-once flag. Existing project tasks now carry their HubSpot deal URLs after the back-fill ran across the historical set. ClickUp project status flows into the HubSpot Project Status field automatically, so the sales side sees the same status the production side is working from without anyone updating both by hand.