Trello-Trigger - Bad Request

Problem

I currently have a n8n installation on a VPS, all working fine, webhooks get requests, no issues there, the problem is when I try to add service triggers, such as this one from Trello, I get this toast notification stating there is an error:

image

Problem running workflow

Bad request - please check your parameters
Show Details
Trello Trigger: ERROR

I know for a fact the credentials are ok, just made them, and there is no problem adding them to N8N, I can move stuff around with it, create new cards and so on, the one thing I can’t seems to be using it as trigger, but then again I’m facing this issue with other triggers as well.

Workflow

Share the output returned by the last node

Information on your n8n setup

  • n8n version: 0.196.0
  • Database you’re using (default: SQLite): MySQL 10.7.3-MariaDB
    official
  • Running n8n with the execution process [own(default), main]: no idea, probably default
  • Running n8n via [Docker, npm, n8n.cloud, desktop app]: Docker

Hi @fogolin, many thanks for reaching out! I am sorry to hear you’re having trouble.

I just gave this a quick go using my own Trello account but didn’t run into any trouble here. Is there a chance the Model ID 62be3cd585e3a678a633d760 from your example workflow doesn’t belong to a
list but to another model for which webhooks aren’t supported by Trello?

Thanks for your quick reply. So, let’s clear the obvious things first:
Installation:

  • Working on an Oracle ARM server with aaPanel installed (I have other websites and databases there).
  • The NGINX is correctly configured, but I ran in a issue when dealing with webhooks (when I posted through insomnia got a 200 response, but the webpage wouldn’t update) and this post helped, it’s working fine now.
  • I’m running on docker, no errors on the console.
  • My ports are open, so much so that I can access the service through the correct URL and use webhooks.

Workflow
I know that the idList used is correct because I’ve tested it with the webhook, right above it, when I post to that webhook, it creates a card on the same list I’m trying to listen to:
image

And the idList is here:
image

I know it’s a long shot but the only difference from my installation to a new one is that I’m using MariaDB instead of SQLIte, I really can’t think of anything else. How can I get a log of this to see if there is any other information helpful to us that might clear things out?

Update
I was trying to figure this out and I’ve set up an automation rule from within Trello that runs whenever a card is added to that given list. Here are the details:

The webhook is the same one from the Workflow from the first post in this thread.

Here is the log from Trello:

	
Running command on board TestBoard.

Response from URL https://n8n.bitsti.com.br/webhook-test/e94e07a1-b775-4260-9eb5-19a16b43a6d6:

Just a moment...

        n8n.bitsti.com.br

        Checking if the site connection is secure

                    Enable JavaScript and cookies to continue

        n8n.bitsti.com.br needs to review the security of your connection before proceeding.

(function(){
    window._cf_chl_opt={
        cvId: '2',
        cType: 'non-interactive',
        cNounce: '31651',
        cRay: '754f2b1a4ed86452',
        cHash: 'fd3dc24909c43f5',
        cUPMDTk: "\/webhook-test\/e94e07a1-b775-4260-9eb5-19a16b43a6d6?__cf_chl_tk=vaoy0Hig2POLEEa7fAWlB6dDzxqygSZXVPbpfIcQ5WY-1664899624-0-gaNycGzNCGU",
        cFPWv: 'b',
        cTTimeMs: '1000',
        cTplV: 4,
        cTplB: 'cf',
        cRq: {
            ru: 'aHR0cHM6Ly9uOG4uYml0c3RpLmNvbS5ici93ZWJob29rLXRlc3QvZTk0ZTA3YTEtYjc3NS00MjYwLTllYjUtMTlhMTZiNDNhNmQ2',
            ra: '',
            rm: 'UE9TVA==',
            d: 'SZ62V1PvH8LauNng7xB2JrZxemReph3SQ5ZCxPaM0n1yXKpXYtg9Lkfhfa+D0Jpwnf0ScWh1Y9uhLY+yTuRtj01REdf9nxCPDwmux0vAfPUwxq1uCsfz4liSsBviK494HZhjo+6sdqaRUvDuS+ggg9vnRVRKlcNGNppDSGsEvtVp5a76vSiwYDpNAMntbppRZUeWTMUzjyR9/n40y6GKKbV0ILhR1HLNVEMZIT8+WyMPgYZQtqjmJFR8iWOcyoQiTf+jFLYwf6rp9stiVRibYURxcB1oA1hWICDRlVpRFnI3BMlDJkXK+gCN10LOM+Um7gfzXMzPTP+YOQK6qcPSk9l3ehy11B1LvoYOV5ntO1AQWhX7t6q8l4FZ9dhqjtI2Cisb7XEIhxXTwS7Ako2CiJ2fkiZoS+WnhtdriLKf8nV+aYdq/npD3Y4ZnHV8nYE4HTB/0qumlaFgApRTQJpr15V1TwNGY4tCpSrUmCjyauErcbZIbqAPj/unP8W83uWdj72uXeugnQWhII3viqX7jKVzMtQc1e1TbceNRR9ZfWRPyVnA2CtZfV/LFPnx4vjkcrjy4JZmipK6egQT+2GAog==',
            t: 'MTY2NDg5OTYyNC4wNDkwMDA=',
            m: 'VLXTmaDcdr6YN5uievi6tjbELdL2tGctfotrxcuO43Y=',
            i1: 'vhUdd0E0DpBsG0M4GZ4/ig==',
            i2: 'oh4cWeMQGACnPuUfgny7XA==',
            zh: 'XTx0EyVu0pLBzRgw1cL2QM12fuoe4JtvS6PWi+S+pjw=',
            uh: 'DV4j3Tmrbi5Rs1q3ahwVS6SgbPbI7np5884QO1u1Cgg=',
            hh: 'VVeVebmN037jcHQP1oEWWb/cQRmnbbPTDto9pUQwh5Y=',
        }
    };
    var trkjs = document.createElement('img');
    trkjs.setAttribute('src', '/cdn-cgi/images/trace/jsch/js/transparent.gif?ray=754f2b1a4ed86452');
    trkjs.setAttribute('style', 'display: none');
    document.body.appendChild(trkjs);
    var cpo = document.createElement('script');
    cpo.src = '/cdn-cgi/challenge-platform/h/b/orchestrate/jsch/v1?ray=754f2b1a4ed86452';
    window._cf_chl_opt.cOgUHash = location.hash === '' && location.href.indexOf('#') !== -1 ? '#' : location.hash;
    window._cf_chl_opt.cOgUQuery = location.search === '' && location.href.slice(0, -window._cf_chl_opt.cOgUHash.length).indexOf('?') !== -1 ? '?' : location.search;
    if (window.history && window.history.replaceState) {
        var ogU = location.pathname + window._cf_chl_opt.cOgUQuery + window._cf_chl_opt.cOgUHash;
        history.replaceState(null, null, "\/webhook-test\/e94e07a1-b775-4260-9eb5-19a16b43a6d6?__cf_chl_rt_tk=vaoy0Hig2POLEEa7fAWlB6dDzxqygSZXVPbpfIcQ5WY-1664899624-0-gaNycGzNCGU" + window._cf_chl_opt.cOgUHash);
        cpo.onload = function() {
            history.replaceState(null, null, ogU);
        };
    }
    document.getElementsByTagName('head')[0].appendChild(cpo);
}());
            Ray ID: 754f2b1a4ed86452
The command finished running.

Total operations: 1

The “Bad Request” answer would come from Trello and should be unrelated to the database you have in use (I am not using SQLite myself either). The only way I could reproduce this error was by providing an invalid list ID, hence my initial suggestion.

How can I get a log of this to see if there is any other information helpful to us that might clear things out?

This is unfortunately not easily possible. You’d essentially need to add the required logging statements to the code. The webhook creation logic lives here in case you want to go down that route.

That said, your automation rule set up inside Trello seems to be a suitable workaround, assuming it calls your generic webhook URL.

The only thing is it’s not working neither, check this here:

Response from URL https://n8n.bitsti.com.br/webhook-test/e94e07a1-b775-4260-9eb5-19a16b43a6d6:
Just a moment...
n8n.bitsti.com.br
Checking if the site connection is secure
Enable JavaScript and cookies to continue
n8n.bitsti.com.br needs to review the security of your connection before proceeding.

I don’t quite know what this is telling me to be honest. This seems to be some Trello specific log output that doesn’t relate to the actual HTTP request. It could point towards a CORS configuration issue on your webserver (assuming Trello attempts to call the webhook through the browser).

That would actually explain not being able to use triggers from the likes of hubspot as well. Is there any setting I should get to enable CORS for n8n?

Hubspot doesn’t use the browser, they trigger webhook requests from their servers iirc, but their webhook logic is special and incredibly frustrating in its very own way (here is one of the mega threads around it). Personally, I’d avoid it all costs and go for a polling approach instead.

CORS headers would typically be configured outside of n8n and are added by a reverse proxy sitting in front of n8n.

While Trello might test the webhook in the browser I don’t think they’d use that in a production environment. After all, there might not be an open browser session when a webhook needs to be sent. So, it might be worth checking with Trello itself what this log output means, and which requirements the target URL has to meet (they could be sending a GET request to verify whether your URL is valid, and then switch to POST requests when actually submitting data, etc.).

That would lead to another direction, the problem being not being able to use trello-trigger itself. I’ve tried using a new server and unfortunately got the same result, I’m clueless to what might actually be the problem… well, I’ll keep trying to sort this out…

So I think the best course of action would be to check with Trello why registering a webhook for list ID 62be3cd585e3a678a633d760 fails - ultimately, only they will be able to confirm the exact logic.

I played around with a few more Trello lists today but didn’t run into any trouble enabling the trigger node. As long as I was using a valid list ID, the trigger node could be enabled as expected on the latest n8n version 0.196.0.

I retrieved my list ID through the regular Trello node here:

One additional thing to double-check would be that your webhook URLs are valid and reachable externally. You can view them using this link on the trigger node:

image

The list ID is correct, I’ve tried different boards and all. The problem lies on the server, might be n8n itself or some other setting I’m not getting right, this is so frustrating, you have no idea.

I can imagine :frowning_face:. Can you perhaps reproduce this in a test Trello account for which you can share credentials with me in a DM?

for sure, I’ll do this right away, but first, check this out, went to the network panel while trying to listn and got this:

the response was:

{
  "code": 0,
  "message": "Bad request - please check your parameters",
  "hint": "",
  "context": {

  },
  "name": "NodeApiError",
  "cause": {
    "message": "400 - {\"message\":\"URL (https://n8n.bitsti.com.br/webhook-test/4d734609-fad1-494f-bb6d-08ee02d02369/webhook) did not return 200 status code, got 503\",\"error\":\"ERROR\"}",
    "name": "Error",
    "stack": "Error: Request failed with status code 400\n    at createError (/usr/local/lib/node_modules/n8n/node_modules/axios/lib/core/createError.js:16:15)\n    at settle (/usr/local/lib/node_modules/n8n/node_modules/axios/lib/core/settle.js:17:12)\n    at IncomingMessage.handleStreamEnd (/usr/local/lib/node_modules/n8n/node_modules/axios/lib/adapters/http.js:269:11)\n    at IncomingMessage.emit (node:events:525:35)\n    at IncomingMessage.emit (node:domain:489:12)\n    at endReadableNT (node:internal/streams/readable:1358:12)\n    at processTicksAndRejections (node:internal/process/task_queues:83:21)"
  },
  "timestamp": 1664981464112,
  "node": {
    "parameters": {
      "id": "633d96c756d9e90118147cc5"
    },
    "id": "16e97d24-29ad-475f-a9f8-ce036cf2f152",
    "name": "Trello Trigger",
    "type": "n8n-nodes-base.trelloTrigger",
    "typeVersion": 1,
    "position": [
      180,
      620
    ],
    "webhookId": "4d734609-fad1-494f-bb6d-08ee02d02369",
    "credentials": {
      "trelloApi": {
        "id": "7",
        "name": "Lucas Fogolin"
      }
    }
  },
  "httpCode": "400",
  "description": "ERROR"
}

Seems like there is a problem communicating with the server. Firewall rules, maybe? I’m behind Cloudflare’s proxy as well, we use their DNS manager for our records, but I guess we could disable that for just this subdomain, shouldn’t be an issue.

Hello, any update on this issue? I’m facing the exact same problem currently.

Hey @_jd,

Are you sure it is the exact same problem and not a similar problem? I would start by checking the webhook url in the node to make sure it is not localhost. If it is then you will need to set the webhook_url environment option.

If it isn’t localhost and it is still failing it would be opening a new topic and completing the template so we can find out more about how you have n8n running.

Hi @Jon, sorry you’re right, this is a different issue. I believe the Trello API checks the callbackUrl availability when enabling the Trello Trigger node and returns an error if it can’t reach the callbackUrl and n8n displays a 400 error for this kind of behavior.

1 Like

Hey @_jd,

It is something like that, was the url localhost or something else?

Yes, pretty much the same, my instance is hosted on internal URL that can’t not be reached outside of our network.

Eventually, configure a different host for the webhook path would do the trick in the future.

1 Like