welcome to the n8n community @roberto_rob
The docs mention that Cloud webhooks fail with 524 if they don’t respond within 100 seconds. I’d still double-check the response setup against the docs for returning a plain string response, but since you already reduced it to a minimal workflow and the timeout persists, I’d raise this as a likely n8n Cloud instance / routing issue and ask the team to check or restart the environment.
This looks more like a response-mode issue first, and a Cloud workspace issue second.
For Meta verification in n8n, I would not use Respond: Immediately. The documented working pattern is: Webhook (GET) → Respond to Webhook, with Respond With: Text and body {{ $json.query['hub.challenge'] }}. I’d also force Content-Type: text/plain so Meta gets the raw challenge value, not JSON/HTML.
If that exact minimal setup still returns 524 on the production URL, then it’s no longer a Meta verification-format problem. A 524 means Cloudflare reached the origin, but the n8n Cloud workspace didn’t answer in time, so this points to an n8n Cloud instance/routing issue and support likely needs to restart or re-provision the workspace.
@roberto_rob dima’s right, swap to a Respond to Webhook node instead of the built-in “Respond Immediately” — Meta needs the raw challenge back as plain text and the inline response mode can choke on query params in Cloud.
Import that, publish it, and hit the production URL in your browser first to confirm you get 123 back before pointing Meta at it.