https://linen.dev logo
r
I'm integrating with all tools that Composio offers, and my LLM is simply working out which one to use. However, of course, each tool and actions can return a different data type, for example. Notion returns id's, a entity type (page), and a page title - effectively allowing post-processing to construct a URL. But how do you handle responses if integrating all of these tools? Is there a post-processor that can be used, or are these being handled ad-hoc? Or maybe I am missing something?
To provide some detail, the response is interpreted by the LLM to form cohesive human-readable strings, but not clickable buttons like I would want it to, as it doesn't formulate a URL.
u
Hey @Ruby, we do have a after-execution modifiers(post-processors). You can checkout the docs: https://docs.composio.dev/docs/tools-direct/modify-tool-behavior/after-execution-modifiers Let me know if this works for you!
r
Ah ok. So it looks like you define an after-execution modifier, and then it's used. It would be good if there is a default one across all providers (such as the notion example of turning an id and a page name into the url), rather than the raw data. The LLM interprets it OK, but as a result it frequently returns plain text rather than embedded actions.
I think a default across all tools and for all actions effectively brings this a lot closer to skills - like default skills and customers can apply as needed.
u
Hey @Ruby, By default, we return the expected response. Your agent might interpret it and modify it to suit your needs. However, we can’t generalise this modification across tools and different toolkits, so it’s best to handle it on your end according to your requirements. The best way to do is to let your agent interpret the same with the known limitations.
5 Views