Voice AgentRetell AI + n8n on-premise + local CRM via Cloudflare Tunnel — is this viable for production?

Hi everyone,
I’m building a voice AI receptionist system for a medical client in Poland using Retell AI + n8n.
Originally I planned the standard setup — n8n on Railway + Retell AI cloud, everything simple. But the client has a CRM hosted on their local network that is NOT exposed to the internet due to healthcare compliance requirements (NFZ regulations in Poland). So the standard cloud approach won’t work for CRM integration.
My proposed solution since Retell AI cannot be self-hosted:
Retell AI (cloud) → webhook → Cloudflare Tunnel → n8n on their local server → Local CRM (no internet access)
So basically n8n runs on their local machine with Docker, Cloudflare Tunnel exposes n8n webhook endpoint to internet, Retell sends webhooks to Cloudflare URL which forwards to n8n, and n8n queries local CRM directly via internal IP.
My questions:
Has anyone done this in production? Any gotchas?
Is Cloudflare Tunnel reliable and fast enough for real-time voice AI webhooks? Latency is critical here — n8n needs to respond to Retell within ~1 second during live calls
Any better alternatives for this use case?
I’m also wondering about security — this is a healthcare environment with sensitive patient data

1 Like

Hi @tymekjakis Welcome!
Here you can see this example:

As always you can build this using n8n and the system would be highly reliable.
I would highly recommend setting up a n8n cloud if this system is not going to get used by thousands of people, so that you do not need to worry about any hosting overhead. Latency i have tried a build like that is pretty less but i have observed it depends on traffic as well, but yeah you will get the desired response time.

Also consider reading this:

the tunnel approach should work, ive done similar webhook relay setups. latency is the main concern — cloudflare adds maybe 50-100ms so youre down to roughly 900ms for n8n to query the crm and respond, which is tight for voice. if the crm api is slow that’ll be the bottleneck, not the tunnel. id do a load test with realistic concurrent calls before going live, and for healthcare data compliance check what cloudflare actually logs in transit.