Webhook does not receive data from Amazing Marvin

Describe the issue/error/question

Webhook does not receive data from Amazing Marvin ( amazingmarvin.com )
Marvin API Wiki

I checked on the webhook.site - it receives data.
I use test URL ( and also checked the “Production URL” ).
HTTP Method - POST (set on both sides).

5989chrome

Information on your n8n setup

  • n8n version: 0.179.0
  • Database you’re using: SQLite
  • Running n8n via: Docker

Please help me understand the situation. Thank you very much!

I found that in my docker-compose.yml not set the WEBHOOK_TUNNEL_URL .

I do not understand what value should be set for it?


version: "3"

services:
  traefik:
    image: "traefik"
    restart: always
    command:
      - "--api=true"
      - "--api.insecure=true"
      - "--providers.docker=true"
      - "--providers.docker.exposedbydefault=false"
      - "--entrypoints.web.address=:80"
      - "--entrypoints.web.http.redirections.entryPoint.to=websecure"
      - "--entrypoints.web.http.redirections.entrypoint.scheme=https"
      - "--entrypoints.websecure.address=:443"
      - "--certificatesresolvers.mytlschallenge.acme.tlschallenge=true"
      - "--certificatesresolvers.mytlschallenge.acme.email=${SSL_EMAIL}"
      - "--certificatesresolvers.mytlschallenge.acme.storage=/letsencrypt/acme.json"
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ${DATA_FOLDER}/letsencrypt:/letsencrypt
      - /var/run/docker.sock:/var/run/docker.sock:ro

  n8n:
    image: n8nio/n8n
    restart: always
    ports:
      - "127.0.0.1:5678:5678"
    labels:
      - traefik.enable=true
      - traefik.http.routers.n8n.rule=Host(`${SUBDOMAIN}.${DOMAIN_NAME}`)
      - traefik.http.routers.n8n.tls=true
      - traefik.http.routers.n8n.entrypoints=web,websecure
      - traefik.http.routers.n8n.tls.certresolver=mytlschallenge
      - traefik.http.middlewares.n8n.headers.SSLRedirect=true
      - traefik.http.middlewares.n8n.headers.STSSeconds=315360000
      - traefik.http.middlewares.n8n.headers.browserXSSFilter=true
      - traefik.http.middlewares.n8n.headers.contentTypeNosniff=true
      - traefik.http.middlewares.n8n.headers.forceSTSHeader=true
      - traefik.http.middlewares.n8n.headers.SSLHost=${DOMAIN_NAME}
      - traefik.http.middlewares.n8n.headers.STSIncludeSubdomains=true
      - traefik.http.middlewares.n8n.headers.STSPreload=true
    environment:
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER
      - N8N_BASIC_AUTH_PASSWORD
      - N8N_HOST=${SUBDOMAIN}.${DOMAIN_NAME}
      - N8N_PORT=5678
      - N8N_PROTOCOL=https
      - NODE_ENV=production
      - WEBHOOK_URL=https://${SUBDOMAIN}.${DOMAIN_NAME}/
      - GENERIC_TIMEZONE=${GENERIC_TIMEZONE}N8N_BASIC_AUTH_ACTIVE
      - EXECUTIONS_DATA_SAVE_ON_ERROR=all
      - EXECUTIONS_DATA_SAVE_ON_SUCCESS=none
      - EXECUTIONS_DATA_SAVE_ON_PROGRESS=true
      - EXECUTIONS_DATA_SAVE_MANUAL_EXECUTIONS=false
      - EXECUTIONS_DATA_PRUNE=true
      - EXECUTIONS_DATA_MAX_AGE=90
      - DB_SQLITE_VACUUM_ON_STARTUP=true
      - EXECUTIONS_DATA_PRUNE_TIMEOUT=1000
    volumes:
      - ${DATA_FOLDER}/.n8n:/home/node/.n8n
      - /local-files:/files

Support said there are no firewalls. :slightly_frowning_face:

Not sure I understand. Does n8n not just receive any data from Amazing Marvin or does it for example also not work when you visit the webhook URL (test and production) with the browser or curl?

WEBHOOK_TUNNEL_URL and WEBHOOK_URL are identical. It simply got renamed at some point but the old one still works. So you only have to set one of them.

1 Like

Hey @jan , thank you for the answer!

the test webhook URL works by itself.
n8n not receive any data from Amazing Marvin.

In this video

you can see:

  1. If I send information to the test URL from another service, it comes.
  2. If I send from amazingmarvin.com to the test URL, it doesn’t come,
  3. but it does if I send to webhook.site

Very interesting. I wonder if it has to do with the OPTIONS request which happens before. Here the difference between what n8n and what webhook.site returns:

1 Like

@jan
Sorry, I’m not very knowledgeable about console, could you please tell me what I need to do?
Is there anything I can do to make it work?

Ah no. I just saw in the video that Amazing Marvin seem to make an OPTIONS request before the actual POST request. So I did wonder, if that is maybe the problem. For that reason did I check how they differ (so what is different between what webhook.site and n8n returns for it) and the screenshot above illustrates that.
webhook.site does for example return HTTP response code 200 and n8n does 204. Both are correct but it is possible that Amazing Marvin does not like the 204 code. So would be worth checking with them. Best to send the above screenshot along.

1 Like

@jan

Ok, I’ll ask, though I probably can’t ask correctly, but I’ll try.
I’ll report back here later.

@jan

Great, looks good. Lets see what they come back with.

1 Like

Hi @jan !
I got a response from Mark ( the developer ):

Is there anything I can do about the CORS setting?

Thank you for your response!

For OPTIONS requests nothing could be done. But can also not see a problem having those ones open so changed it. For the other request types, you can manually set the headers you require on the HTTP Request Node.

It will be released with the next version. You can already try it now with the docker nightly build image n8nio/n8n:nightly

1 Like

@jan

How can I open it if I don’t get any data?

If I understand correctly, HTTP Request Node is used to send a request to a certain Url to get a response. But - I need a trigger which is triggered by a certain event. So I’m not quite sure how I can apply HTTP Request Node. When it triggers and to which address to send the request - if the address does not change there, it is always - https://app.amazingmarvin.com

If you use the above-posted docker image then they will be “open”.

Sorry, I mistyped. I meant the Webhook-Node.

1 Like

@jan

Unfortunately, I don’t know how to do it. Probably add some parameters to the webhook URL ?

Got released with [email protected]

1 Like

You can add response headers on the Webhook Node underneath “Options”:
Add Option -> Response Headers -> Add Response Header

Screenshot from 2022-06-20 17-52-03

1 Like

Thank you, @jan so much for helping!
I updated the n8n.

6054chrome

6055chrome

Here’s what the Amazing Marvin wiki says:

So, I tried:
6060chrome

and
6061chrome

Webhook does not receive data.

What do I need to write in these fields?
Name - ?
Value - ?

@jan

I asked the developer what I should put in there and got the answer:

6066chrome

I tried all the variants, but unfortunately none of them worked.

6067chrome

What do I need to write in these fields?