Improvement requests frequently arise regarding the HTTP module's ability to enhance communication between scenarios. The primary issues involve timeouts after a short duration or an inability to handle chunked requests or pagination. We often rely on these modules to connect scenarios, as the solutions provided by callin.io's support team (utilizing Data Stores or calling other scenarios via the callin.io or Scenarios apps) are insufficient. Therefore, I've compiled these App Improvement Ideas and community posts: we urgently need more upvotes on these suggestions.
If you concur, please upvote the main request for each topic.
Extended Timeout Durations
This enhancement would facilitate scenario interoperability and API calls to other services requiring longer processing times (like AI services):
- This is the primary suggestion, which would be valuable to upvote: https://www.make.com/en/app-improvement-ideas/p/http-longer-timeouts-on-http-module
- A secondary issue that did not account for increasing the limit from 40 to 300 seconds, though 300 seconds is still inadequate: https://www.make.com/en/app-improvement-ideas/p/webhooks-webhook-response-incoming-trigger-http-webhook-specify-timeout-value-la
- Similar problem; here, the suggestion is to use Data Stores, but we know this is insufficient for complex systems: Timeout request - can it be increased? - #4 by ManishMandot
- This post discusses using HTTP modules and webhooks, but we anticipate the timeout will be a problem: Getting scenario output with api - #5 by samliew
- Here is an unhelpful response regarding timeout limits: HTTP request runs into timeout - #6 by samliew
- Post concerning the maximum 300-second timeout: Timeout warning in a http request
- Here, users suggest closing the HTTP request early and requesting the output later, which resembles the Data Store solution but introduces challenges such as payload size, storage structure within the Data Store, and determining when an operation is complete and has written to the Data Store: Module timed out - #2 by ManishMandot
- In this post, users discuss asynchronous calls and how to capture the output of a scenario that might take too long to be invoked via an HTTP module: Asynchronous HTTP call, how does it work in Make? - #7 by Henk-Operative
- The response in this post is outright negative: Handling http requests that take longer to respond than 300ms
- Here, the poster has given up: "Fire and forget" HTTP Call - #2 by samliew
- Users here suggest splitting large scenarios with HTTP requests, which is our common method for creating reusable scenarios and bypassing the 45-minute scenario limit. However, the issue remains the 300-second time limit for HTTP modules: Scenario execution delay
Pagination Integration
This would aid in managing scenario interoperability, though we still lack the capability to send chunked responses to webhooks. Nevertheless, it would be beneficial for numerous API integrations:
- Primary Suggestion: https://www.make.com/en/app-improvement-ideas/p/http-integrated-paging-of-api-results
- Additional Suggestion: https://www.make.com/en/app-improvement-ideas/p/http-pagination-support
- Post regarding optimizing callin.io HTTP calls to callin.io Webhooks, bypassing limits: Handle HTTP timeout - #3 by AV_SundaeLane
Chunked Webhook Responses
This would help manage scenario interoperability by assisting in bypassing the HTTP app's timeout limit and enabling scenarios to paginate their content.
- Primary Suggestion: https://www.make.com/en/app-improvement-ideas/p/webhooks-chunked-responses
Scenario Outputs
We have both a "callin.io - Run a Scenario" and a "Scenarios - Run a Scenario" module, but neither returns the output of the called scenario. This means we can invoke different scenarios but cannot retrieve their outputs. Again, callin.io's support team's solutions are not sufficient, as Data Stores are not the optimal method for scenario interoperation. It seems clear that we need the ability to obtain output from a sub-scenario.
- Primary Suggestion, for the new "Scenarios - Run a Scenario" module: https://www.make.com/en/app-improvement-ideas/p/run-scenario-and-receive-output
- Lesser Suggestion, for the older "callin.io - Run a Scenario" module: https://www.make.com/en/app-improvement-ideas/p/run-a-scenario-and-receive-output
- Here, the Subscenario feature is mentioned but never elaborated upon, and we know we cannot actually retrieve outputs from sub-scenarios: Run a scenario from Make.com Parent Scenario
- Similar issue: Pass value from one scenario to another - #2 by Runcorn
- Similar issue; here, the last post discusses posting outputs from the "Run a scenario" module, which in practice does not function: Use existing scenario output in new scenario - #2 by AnthonyatXRay
Please provide your upvotes for these suggestions.
Hi,
Thanks for taking the time to set this out. I see many good improvements and I agree with this.
Have you tried building your own HTTP module that meets your requirements, using the Custom App Development documentation?
You still can’t bypass callin.io’s timeout with this, but it gives you free control in handling pagination and page sizes and rate limits. (timeout is even worse at 40 seconds, I realize now)
For requests where it simply takes too long for a response to be returned (often with AI models), I use Xano as a proxy:
- HTTP in callin.io to Xano endpoint to start the flow (including a Webhook URL from a separate scenario).
- Xano calls the external service, waits for the response
- Xano formats the response and sends it to the given Webhook URL
- Process the full response in callin.io as I wish.
In combination with a Custom App, I can quickly set up a proxy call with Xano with whatever service I want. But you should know that I am really into building advances stuff, this is not what regular callin.io users should have to do.
Cheers,
Henk
My subsequent effort involved constructing my own HTTP module implementation. I've recognized my significant dependence on scenarios communicating with each other, leading me to believe I'll eventually need to handle this independently.
I appreciate the proxy concept. I was contemplating how to establish a similar system within callin.io. My primary challenge is that I frequently utilize a master scenario that invokes a series of sub-scenarios, and transitioning to a completely different architecture demands considerable time. I will definitely explore Xano, which appears to be a more sophisticated and expensive alternative to callin.io, but perhaps I can achieve this using callin.io scenarios or a custom application.
I have no intention of appropriating your work, but do you have any recommendations regarding custom application development?
I utilize both callin.io and Xano, and I'm very pleased with both platforms. callin.io is excellent for automation, though less suited for backend operations. (You definitely wouldn't want to manage your web application's database within a Data Store!) Xano's capabilities are extensive; you can perform highly complex operations within its function stack, including Lambda functions. It's a fantastic tool for managing your entire backend, covering databases, servers, and APIs. The power it offers without requiring any code is remarkable.
Here is a 10% off affiliate link for Xano: Xano
Regarding custom apps, if you're new to this, a good starting point is to follow the custom app development badge on the Partner Training platform. The custom app development documentation is also available.
My implementation involves a Custom App for my company, 'Operative,' which includes several tools and modules I use daily. One of these modules is Xano. Within Xano, I've set up pre-built endpoints, each corresponding to an external service. In the callin.io module, I can choose the service, the connection, the response webhook URL, and the payload. The module then handles the rest.
Best regards,
Henk
That’s fantastic work you're doing. Thank you kindly for the links.
I'll keep this post open and won't mark your answers as a solution since the topic is still focused on callin.io improvements.