Tools: Extend Your Agents With External Actions
Give your Forjinn agents the ability to search the web, run code, call external APIs, and execute custom JavaScript or Python functions you define.
Tools are what turn a plain language model into an agent that can act on the world. Without tools, an agent can only generate text based on its training data. With tools attached, it can search the web for current information, run a calculation, call an external API, read and write files, or execute any logic you write. You connect tools to a chatflow or agent flow by dropping them onto the canvas and wiring them to an agent node — no extra configuration beyond the tool's own inputs.
Built-in tools
Forjinn ships with a large library of ready-to-use tools. Find them in the node panel under Tools when editing a flow.
Calculator
Evaluates mathematical expressions. Useful any time users might ask arithmetic questions your LLM would otherwise get wrong.
Web Browser
Visits a URL and extracts its content, letting your agent read live web pages. Requires a language model and an embeddings model to parse the page.
Tavily API
A search engine purpose-built for LLMs. Returns clean, summarized results. Supports general and news search modes.
SerpAPI
Queries Google search results via SerpAPI. Good for broad web searches when you need raw results rather than AI-summarized answers.
Brave Search API
Web search via Brave's privacy-focused index. No tracking or personalization.
Exa Search
Semantic search across the web. Finds pages by meaning, not just keywords.
Google Search API
Search Google programmatically via the Custom Search JSON API.
Searxng
Connect to your own self-hosted Searxng instance for private, aggregated web search.
Serper
Fast Google search results via the Serper API.
Code Interpreter (E2B)
Runs Python code in a secure, persistent E2B sandbox. All major packages (pandas, numpy, matplotlib, etc.) are pre-installed. Charts display inline.
Arxiv
Searches and retrieves academic papers from the Arxiv preprint server.
WolframAlpha
Answers complex math, science, and data questions using the WolframAlpha computational engine.
Current Date & Time
Returns the current date and time, so your agent always knows when "now" is.
Read File / Write File
Read from or write to files on the server filesystem. Useful in automated workflows.
HTTP Requests (Get, Post, Put, Delete)
Make outbound HTTP calls to any REST endpoint. One tool per HTTP verb.
Web Scraper
Scrapes structured content from a web page.
OpenAPI Toolkit
Load an OpenAPI spec and expose all its endpoints as callable tools automatically.
Retriever Tool
Wraps a vector store retriever so your agent can do semantic search over a document store.
Query Engine Tool
Wraps a LlamaIndex query engine as a callable tool.
Agent as Tool
Nest one agent inside another — the outer agent can delegate tasks to the inner one.
Chatflow Tool
Call another Forjinn chatflow as a sub-task from within your agent.
MCP
Connect to any Model Context Protocol (MCP) server to expose its tools to your agent.
Composio
Access hundreds of pre-built integrations (GitHub, Slack, Notion, and more) through the Composio platform.
Productivity and SaaS integrations
These tools connect to external services and require credentials. Store API keys in Credentials before using them.
| Tool | What it does |
|---|---|
| Gmail | Read, send, and manage Gmail messages |
| Google Calendar | Create and query calendar events |
| Google Docs | Read and write Google Docs |
| Google Drive | Search and retrieve Drive files |
| Google Sheets | Read and write spreadsheet data |
| Microsoft Exchange | Interact with Exchange mailboxes |
| Microsoft Outlook | Read and send Outlook email |
| Microsoft Teams | Post messages to Teams channels |
| Jira | Create and query Jira issues |
| Stripe Tool | Look up customers, charges, and subscriptions |
| Send email via SMTP |
Custom tools
When the built-in tools don't cover your use case, you can write your own. Custom tools are defined in the Tools section of the sidebar, then attached to flows using the Custom Tool node.
Create a custom tool
In the left sidebar, click Tools. Then click Add Tool in the top right.
Give the tool a clear name and description. The agent uses the description to decide when to call your tool — be specific about what the tool does and what kinds of inputs it expects.
Add the parameters your function needs. For each parameter, set the name, type (string, number, boolean), and a description. These become the structured inputs the agent passes to your function at runtime.
Choose JavaScript or Python as the language, then write the function body. The parameters you defined are available as variables.
// Fetch current weather for a given city
const response = await fetch(
`https://api.open-meteo.com/v1/forecast?latitude=${latitude}&longitude=${longitude}¤t_weather=true`
)
const data = await response.json()
return JSON.stringify(data.current_weather)# Fetch current weather for a given city
import httpx
r = httpx.get(
"https://api.open-meteo.com/v1/forecast",
params={"latitude": latitude, "longitude": longitude, "current_weather": True}
)
return str(r.json()["current_weather"])For Python tools, you can list additional pip packages under Python Requirements — separate multiple packages with commas.
Click Save. The tool is now available to any flow in your workspace.
Forjinn also has an Autogenerate option — describe what you want the tool to do in plain language and Forjinn will draft the function code for you. Review and adjust it before saving.
Attach a custom tool to a flow
Go to Chatflows or Agentflows and open the flow you want to modify.
In the node panel, search for Custom Tool and drag it onto the canvas.
In the node's Select Tool dropdown, choose the tool you created. The name and description are pulled in automatically.
Wire the Custom Tool node's output to the Tools input on your agent node.
Save the flow and open the chat panel to test. Ask the agent something that should trigger your tool.
You can attach multiple tools to a single agent. The agent decides which tool to call based on each tool's description, so keep descriptions precise and distinct from one another.
Return direct
By default, an agent passes a tool's output back through its reasoning loop before responding to the user. If you enable Return Direct on a tool node, the tool's raw output is sent directly to the user, skipping that reasoning step. Use this when the tool's output is already in the right format for the end user.
Create and configure AI assistants in Forjinn
Forjinn assistants are configurable AI chat interfaces — build one from scratch or connect to an existing OpenAI or Azure OpenAI Assistants service.
Triggers: Schedule and Webhook Automation
Run Forjinn flows automatically on a recurring cron schedule or in response to an incoming webhook event from any external service or platform.