Overview
Tools and skills extend your Flametree agents beyond simple conversation. They allow agents to interact with external systems, automate workflows, and manage session state in a controlled and scalable way.
Think of them as two different ways to run code:
- Tools are optional actions the agent can call when it decides they are needed to answer the user.
- Skills are predefined actions that the workflow runs automatically at specific points. For example, on session start/end.
Skills and Tools: Understanding the Difference
While both tools and skills extend agent capabilities, they serve different purposes.
A tool is invoked by the agent while generating a response. It is used when the agent needs to retrieve data or perform an action to reply to the user. The result of a tool execution is returned to the agent and used in the response.
A skill is executed at predefined points in the workflow, such as session initialization or state transitions. It is not invoked by the agent during message generation. A skill is used to prepare or update the agent context, for example by setting or modifying prompt fields or performing background actions.
| Feature | Tools | Skills |
|---|---|---|
| When it runs | During response generation when needed | Outside response generation on session start or state transitions |
| Who initiates execution | Agent | Workflow events |
| Agent control | Agent decides if and when to call | Agent does not control execution |
| Purpose | Retrieve data or perform an action for the reply | Prepare or update agent context |
| Result availability | Returned to the agent | Not returned to the agent |
| Typical configuration | Listed in available_tools | Listed in init_skills or final_skills |
| Example | Get product details by ID | Load product catalog when session starts |
💡 Tip: If the agent explicitly decides to call a function during message generation, it should be implemented as a tool. If the function must run automatically as part of the workflow lifecycle, it should be implemented as a skill.
Common Tool Use Cases
Tools are typically used when the agent needs to interact with external systems in real time:
- Sending templated messages with interactive buttons
- Creating tickets in support systems (Jira, ServiceNow, and others)
- Retrieving customer data from databases or CRMs
- Scheduling appointments in calendars
- Sending emails or SMS messages
- Processing payments
- Transferring conversations to human operators
Common Skill Use Cases
Skills are typically used to manage workflow state and background processes:
- Validating form data before leaving a state
- Preloading configuration or external data at session start
- Initializing prompt variables
- Logging analytics on state completion
- Persisting session data after workflow completion