Flow Web Request URL Not Working
complete
D
Dan
The Web Request URL looks like http://example.dyndns.org:65000/example. When I trigger the flow, this step is skipped. Why? If I use this URL in a browser, the web request works. It just doesn't work from a flow.
C
Christian
marked this post as
complete
Hi all....a fix has been applied to allow for port numbers and local IP addresses. Hope that helps!
H
Hugo Cabrita
Hello Christian. I am trying to trigger a GET request with http://3d_printerIPAddress/printer/gcode/script?script=G28 it work with my browser, but not through Voice Monkey. Am I doing something wrong? Thanks
P
Philipp
Same here, please add port support. Keeping 80 open just invites all sorts of unwanted attention!
D
Dominic
So i have a work around. The issue is with port numbers in the URL. I also cant get it to work with IP address. So the secret is use port 80, don't define it and use a domain not an IP!
D
Dominic
I am having the same issue, anyone work out why it doesn't work. Its the only reason I signed up!
A
Al
Adding to this, I have discovered that triggering the flow from the playground works, other routes do not appear to
USE CASE
A voice request made of an Alexa triggers a web request
SETUP
I have set up a test flow with just one web request action, using an HTTPS URL on a public domain (which I can see the logs for)
I initially had the web request as a POST request with JSON body. For testing I trimmed this down to just a simple GET request (no headers).
I have also set up the Alexa app per the Voice Monkey instructions to trigger the flow, which should then send the web request
WHAT DOES NOT WORK
A voice request does NOT send the web request
'Trigger flow' does NOT work on https://console.voicemonkey.io/flows
'Trigger flow' or 'Trigger flow now' does NOT work on https://console.voicemonkey.io/flows/edit/<id>
WHAT DOES WORK
From the /flows/edit/<id> page I then click on 'Visit playground' then clicking 'Send request' from the playground DOES work on https://console.voicemonkey.io/api-v2/playground?api=flows&id=<4-digit-id>
UPDATE
If I use requestcatcher.com as the Voice Monkey web request URL I can 'Trigger flow' from /flows and /flows/edit/<id> and see the following headers in Request Catcher (some information redacted)
Accept-Encoding: gzip
Cdn-Loop: cloudflare; subreqs=1
Cf-Connecting-Ip: 2a06:xxxx:xxxx::103
Cf-Ew-Via: 15
Cf-Ray: 8544423df217xxxx-SJC
Cf-Visitor: {"scheme":"https"}
Cf-Worker: voicemonkey.io
Connection: Keep-Alive
X-Forwarded-For: 2a06:xxxx:xxxx::103
X-Forwarded-Proto: https
When triggering from the playground (with a flow that has a web request to my server) I can see the following headers in my server logs (some information redacted)
{
host: 'gubbison.page',
'accept-encoding': 'gzip',
'cdn-loop': 'cloudflare; subreqs=1',
'cf-connecting-ip': '2a06:xxxx:xxxx::103',
'cf-ew-via': '15',
'cf-ipcountry': 'GB',
'cf-ray': '85444924a4d5xxx-LHR',
'cf-visitor': '{"scheme":"https"}',
'cf-warp-tag-id': '78345516-bf7d-xxxx-xxxx-4a467d835599',
'cf-worker': 'voicemonkey.io',
connection: 'keep-alive',
'x-forwarded-for': '2a06:xxxx:xxxx::103',
'x-forwarded-proto': 'https'
}
Digging deeper I can see that other requests from Voice Monkey are being blocked by Cloudflare (used for my domain)
They fall foul of Cloudflare's Bot Fight service. After trying a WAF rules in Cloudflare to permit 'cf-worker=voicemonkey.io' and other rules (based on URI path etc) I finally switched off Cloudflare's Bot Fight and the webhooks now come through and I could then see the following (some information redacted)
{
host: 'gubbison.page',
'accept-encoding': 'gzip',
'cdn-loop': 'cloudflare; subreqs=1',
'cf-connecting-ip': '2a06:xxxx:xxxx::103',
'cf-ew-via': '15',
'cf-ipcountry': 'GB',
'cf-ray': '85446403f16bxxxx-LHR',
'cf-visitor': '{"scheme":"https"}',
'cf-warp-tag-id': '78345516-bf7d-xxxx-xxxx-4a467d835599',
'cf-worker': 'voicemonkey.io',
connection: 'keep-alive',
'x-forwarded-for': '2a06:xxxx:xxxx::103',
'x-forwarded-proto': 'https'
}
Sooooo, basically no difference in headers. Don't know why the payloads work from Voice Monkey Playground but not from other aspects!
Dear VM, the differences might be clear in your code, so it might be worth sending web requests in the same way as Playground does across all of VM
B
Bob
Same
B
Bob
I found that when I was trying to use a url that was like http://<IP ADDRESS>/folder/index.php it failed, but when I changed it to http://<DOMAIN NAME>/folder/ it worked properly. Is voicemonkey doing something to filter out URLs?
A
Allan
I'm having the same problem. It says "Flow should run shortly" But it never runs.
C
Christian
marked this post as
under review
S
Saurabh Tyagi
I experienced the same problem. +1 vote.