skip to Main Content

I have an app service which runs on a recurring basis every hour. It calls a webhook on my site, a GET Method. The method within the URL takes only a few milliseconds to run. It returns a JSON object, which the app service ignores. The JSON is returned because I can run this URL manually in my browser to get some info back into some status on my website. The internal method also does some "cleanup" of a few things, which is why I have this running in a logic app in the first place on a recurring basis.

The webhook works, the URL is good, however the LogicApp always shows the logicapp as "running" and never returns as successful. Here’s what it looks like in the LogicApp Dashboard:

enter image description here

If I click on one of the "running" entries, it shows:

enter image description here

If I drill in further and click on the Webhook entry, it shows the webhook as "waiting":
enter image description here

I don’t know what it’s waiting for, as the webhook returns immediately. I know it returns immediately because I can manually go to the URL specified in my browser and get a response.

So I’m at a loss. One, I’d like to get accurate status info back in the LogicApp, or two, is there actually a problem happening that I’m not aware of?

2

Answers


  1. I think you may be using the wrong operation, check this documentation for the behaviour of a HTTP Webhook operation …

    https://learn.microsoft.com/en-us/azure/connectors/connectors-native-webhook

    … but more specifically …

    https://learn.microsoft.com/en-us/azure/connectors/connectors-native-webhook

    Similar to the webhook trigger, a webhook action works is also event-based. After you add a webhook action to an existing workflow and then save the workflow, or after you re-enable a disabled logic app resource, the webhook action subscribes to the specified service endpoint by registering a callback URL with that endpoint. When the workflow runs, the webhook action pauses the workflow and waits until the service endpoint calls the URL before the workflow resumes running.

    Bottom line, the call you’re making doesn’t need to respond via the standard request/response approach, it needs to make it’s own call to the callback URL supplied by the webhook operation.

    If you want to make a call to an endpoint and retrieve and process its response, you need to use the normal HTTP operation …

    HTTP

    Login or Signup to reply.
  2. I do agree with what @Skin said, a HTTP webhook action waits until the response is received as a request(subscriber). However, HTTP action adopts asynchronous operations during the requests. The caller can carry out the subsequent action without having to wait for the request to be processed to completion.

    For demonstration purposes, I have taken a sample GET URL and tried with both the actions, where I can get the results for HTTP action as usual for any other requests but same error as yours when HTTP + Webhook is used.

    enter image description here

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search