First Workflow: Trouble with ClickUp Trigger

Hi there,

I installed n8n for the first time this week. For my first workflow, I wanted to connect ClickUp and Clockify, so I could create a new Project in Clockify whenever I created a new List in ClickUp.

But I am having trouble getting the ClickUp Trigger to register anything.

I believe that I have set up the API Token properly, because when configuring the trigger, it finds the name of my Team.

Under the Events dropdown, I have tried both * and list.created. I then save the workflow, click Execute Node, and add a list in my ClickUp account. But no results ever appear.

I tried setting up a Clockify Trigger to see if I could actually get a trigger to work. And that returned results.

Here is the basic workflow for the ClickUp Trigger (team and webhooks changed):

 {
  "name": "ClickUp Trigger Test",
  "nodes": [
    {
      "parameters": {},
      "name": "Start",
      "type": "n8n-nodes-base.start",
      "typeVersion": 1,
      "position": [
        250,
        300
      ]
    },
    {
      "parameters": {
        "team": "1234567",
        "events": [
          "*"
        ],
        "filters": {}
      },
      "name": "ClickUp Trigger",
      "type": "n8n-nodes-base.clickUpTrigger",
      "typeVersion": 1,
      "position": [
        400,
        300
      ],
      "webhookId": "d94b94f6-f7fc-4c75-843d-7b2f448c2059",
      "credentials": {
        "clickUpApi": "ClickUp"
      }
    }
  ],
  "connections": {},
  "active": false,
  "settings": {},
  "id": "4"
}

I’ve looked through the documentation as best as I can, and I can’t quite figure out what’s going on.

This is my first workflow attempt, so I’m sure I’m doing something wrong.

Thanks for any help you can offer.

Welcome to the community @matw!

How do you run n8n? Do you have it set up on a server with its own subdomain? Or if you run it locally do you use a tunnel?

Thanks for the quick reply! I set it up on Heroku with its own sub domain.

Did you try if it is possible to start a workflow via a Webhook Trigger Node?

I did not. I just poked around in the Webhook Trigger docs and I feel a little silly admitting that I’m not quite sure how to set that up.

I’ve set up webhooks in many other settings, but this is more freeform than I’m used to, and I’m having trouble lining up all the parts.

I can create a webhook from ClickUp: https://api.clickup.com/api/v2/team/<teamname>/webhook but I don’t immediately see where I would plug that in.

I apologize for not grasping something so rudimentary.

Sorry for the misunderstanding. I did not mean that you should set it up for ClickUp. I just meant that you should create a Webhook Trigger node, save workflow, copy the webhook Test-URL, start the workflow, and then call the Test-URL to see if it works. Just to know if n8n is generally set up correctly.

Ahhhh. That makes more sense.

The Webhook Trigger Test-URL is http://localhost:30710/webhook/1c69596a-b6f4-4dc7-83ba-846c861b1 which doesn’t seem to be right, given that this is hosted at Heroku rather than locally. ( I installed with the https://github.com/sarveshpro/n8n-heroku method). Am I correct that I shouldn’t be seeing a localhost URL as the Test-URL?

I tried installing it with Docker on another server I have, but I ran into 443 port conflicts with nginx. That seems like a whole other issue that I’m not sure I really need to solve yet.

Aha!

A bit more research led me to a comment on the n8n-heroku repo, which led me to the WEBHOOK_TUNNEL_URL config.

I figured out where to enter that in the Heroku Config Vars for my app, and I now have a proper webhook Test-URL.

I’m not 100% sure what I’m supposed to see when I trigger it, but here’s what showed up:

[
  {
   "body": {},
   "headers": {
     "host": "<myhostname>.herokuapp.com",
     "connection": "close",
     "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
     "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15",
     "accept-language": "en-us",
     "authorization": "Basic YXV0b2FuZHRoZXdlYjpBREQtUmpuRV9GajhkWGoyR2J2V250cipARTZxTEVp",
     "accept-encoding": "gzip, deflate, br",
     "x-request-id": "54fd4e1b-58db-4cc5-8916-e180cfd8612b",
     "x-forwarded-for": "<my.ip.address>",
     "x-forwarded-proto": "https",
     "x-forwarded-port": "443",
     "via": "1.1 vegur",
     "connect-time": "1",
     "x-request-start": "1616990131719",
     "total-route-time": "0"
   },
   "query": {}
  }
]

Okay. I’m getting a lot closer.

I now have a ClickUp trigger that fires when I create a list. And I have a Clockify Node that creates a project when the ClickUp trigger fires.

As far as I can tell, I’m missing one final element: I can’t figure out how to pass the list name from ClickUp to the Project Name field in the Clockify node.

For what it’s worth, here is what I get when I create a list in ClickUp:

[{
  "event": "listCreated",
  "list_id": "69429394",
  "webhook_id": "3ec025c8-d0e9-4ac6-b637-57d52f668839"
}]

Ah great to see that you could figure it out.

The missing element you are talking about is a ClickUp-Node set to List -> Get. On it, you can reference the List ID which will then send you the data of the List in response including the name of the list.

Yes! That was the missing link.

I finally have it up and running. Thank you for your patience and your help.

Hopefully the next workflow comes together more smoothly.

Sure always happy to help and always great if someone got the first workflow running and so gets value out of n8n.

Have fun!