I have a workflow that uses a chat trigger to invoke an AI Agent. This agent has access to multiple tools, and receiving a response can take over a minute. I'm looking to provide status updates within the chat during this processing time, such as:
- Currently executing tool XYZ
- Currently searching for ABC
Some ideas I'm exploring include:
- Given the
sessionId
, is it possible to trigger an action that sends data back to the chat client?
It appears your topic is missing some crucial details. Could you please provide the following information, if relevant?
- callin.io version:
- Database (default: SQLite):
- callin.io EXECUTIONS_PROCESS setting (default: own, main):
- Running callin.io via (Docker, npm, callin.io cloud, desktop app):
- Operating system:
Please provide the details so we can assist you further.
You might be able to achieve this by:
- A primary workflow featuring a Chat Trigger followed by an AI Agent.
- Separate "status update" workflows capable of posting to the same chat session.
My suggestion would be to retrieve the session ID for the chat, then pass this to a second scenario where you can utilize an HTTP request to post the updates.
If this resolves your issue, please consider marking it as the solution!
Thank you Daniel. In the secondary “status update” workflow, given the sessionId, how do I send the HTTP Post back to the callin.io chat client? It appears the callin.io chat client sends a synchronous web request (meaning it sends and waits for a single response) to the callin.io server, and waits for a single response. There isn't a way to directly address (i.e., communicate with) the callin.io chat client to send it information, which is what I'm attempting to do.
The traditional approach (outside of callin.io) would involve a chat client that the server could communicate with. This could be either the chat client "polling" the server for updates based on the sessionId, or establishing a socket connection between the two. If callin.io has already incorporated this functionality into their chat client, that would be excellent.
Please provide guidance on how to achieve this.
It appears that sending status updates is a desired functionality, but it's not currently supported.
Users will need to wait for the complete agent execution to view the output or intermediate steps.
This has been logged as a feature request.
If this addresses your query, please mark it as the solution.
Is this a feature request? A search of the callin.io feature requests for “status updates” yielded no results.
Couldn't this be accomplished using a custom AI tool? You could simply have the agent call the tool after utilizing any other tool and then provide a status update.
My point is that the Chat client by callin.io should support streaming updates. You can see this working in every standard chat client (ChatGPT, Claude, etc).
Most AI APIs support a streaming option. For example, I’ve built many custom chat clients with Open AI where we are streaming updates.
In addition, it’s critical to support streaming updates when function calling. Open AI provides this already when calling function tools. So you can do something like this:
User: “When was my last interaction with bob@acme.inc”.
Open AI: “Ok, let me check your email”
Open AI: “I’m also going to check your Google Calendar”
I completely agree with you, and I'm hopeful they'll incorporate this into the AI Agent node.
My suggestion was more about a temporary workaround.
I successfully obtained status updates by utilizing the callin.io workflow AI node. The agent sends its current status via a custom field within that node. The new workflow then retrieves this status, which I've stored in memory, and subsequently added a webhook to receive the status updates.
This thread was automatically closed 7 days following the last response. New replies are no longer permitted.