Skip to content
Back

How to send Webhooks to internal network

  • 0
  • 2
  • Self Hosted
  • Webhooks
techconsulnerd
9 Mar, 2026, 13:52

When saving the URL for sending Webhooks, Appwrite checks if it's a valid external domain name so entering internal IP address or docker hostnames won't save the Webhooks creation. Is there any way to override this?

TL;DR
Solution: Expose the internal service through ngrok or a reverse proxy to obtain a valid external URL for the webhook. Place the other container in the runtimes network and use an Appwrite function to send the data. Overriding the domain check for Webhooks is not possible and its compatibility with Kubernetes may vary based on the setup.
9 Mar, 2026, 20:43

I can help with that. This usually happens because Appwrite validates webhook URLs and only allows public/valid external domains, so internal IPs or Docker hostnames get rejected during creation. A common workaround is exposing the service through something like ngrok or a reverse proxy so it has a valid external URL. Quick question: are you trying to send the webhook to another Docker container, a local service, or something running on your host machine?

10 Mar, 2026, 03:51

I'm trying to send the Webhook to another docker container on the same machine. I don't want to expose it to outside network.

10 Mar, 2026, 12:05

I would put the other container in the runtimes network and then use an Appwrite function to send the data

10 Mar, 2026, 14:15

So, there's no way to override the domain check for Webhooks? Does this also works in Kubernetes?

10 Mar, 2026, 20:03

Not sure how you have it set up in k8s so I can't say. You just need to be able to make the network request from your function to wherever it needs to go

20 Mar, 2026, 04:15

I did this workaround and it works. Thanks!

Reply

Reply to this thread by joining our Discord

Reply on Discord

Need support?

Join our Discord

Get community support by joining our Discord server.

Join Discord

Get premium support

Join Appwrite Pro and get email support from our team.

Learn more