Function Calling Agents
Function Calling Agents are systems that leverage Large Language Models (LLMs) to parse user intents expressed in natural language and invoke predefined external functions or APIs to carry out specific tasks. These agents serve as a bridge between natural language understanding and software automation, enabling users to interact with complex systems through conversational commands—often in near real-time.
🔑 Key Concepts
Function Calling Agents can interact with external systems by executing predefined functions in response to user queries. Their reliability stems from the controlled nature of these interactions: they can only access explicitly defined tools, which limits unintended behavior and enhances robustness.
In this context, "tools" refer to callable functions or APIs that the agent can invoke to perform specific operations within other software systems. Like all blocks, Function calling agents have their own nodes which can be viewed within the workflow.
Each workflow or stack can include multiple Function Calling Agents, and each agent can have access to one or more tools. You can also add the same tool multiple times.
This setup allows you to:
- Control your workflow: You can have multiple agent blocks, each with access to certain tools that are triggered differently or that bridge data to the next block in a unique way.
- Access the same environment multiple times: For example, if you want to write output to several Slack workspaces or SQL databases or tools that treat different output differently, having multiple instances of the same tool enables you to achieve this easily.
Here is how a function calling agent works in principal.
Use case: "Send this message to Slack"
User: "Send 'Meeting at 2 PM' to the #general channel."
Agent: Parses intent → Calls send_slack_message(channel, message)
Output: Message sent
📘 Key Definitions
- Function Calling Agent: An agent that can take actions in another software system—such as writing, adding, or updating content.
- Tool: A predefined function or API that the agent can invoke to perform an operation.
- Extension Window: A part of the UI that opens when a tool is clicked, allowing it to be configured (e.g., by providing an access token or password).
- Description: All blocks, tools, and entries on INTELLITHING require a description (think of it as a tag). It is recommended to provide a thorough description for each entry.
⚙️ Function Calling Agent Configuration
- Head to the block editor and drop a Function Calling Agent block.
- Click on the Function Calling Agent block to open the main configuration panel.
- Name the agent.
- Add tools by typing
@
in the field labeledType @ to get tools...
. - A list of tools will appear—choose the one you want to add.
- A new entry with the agent's name will be created.
- Click on the new entry to open the Extension Window, where you can configure the tool (e.g., by assigning a unique name, entering access tokens, etc.).
ℹ️ Note: The name in the main prompt screen will now match the tool's configured name. This is essential for distinguishing between multiple tools with the same base type, as each tool requires a unique name.
- Save the tool configuration and either continue adding more tools or save the agent.