The buzz around agentic AI is undeniable. We're moving beyond simple chatbots and into an era of autonomous AI agents that can reason, strategize, and execute complex tasks. The promise is incredible: AI that doesn't just answer questions, but actively works to achieve goals.
But there's a critical gap between this exciting vision and practical business application. An AI agent, even one powered by the most advanced Large Language Model (LLM), is like a brilliant strategist locked in an empty room. It can think, but it can't interact with the world, access your proprietary data, or operate within your specific business context.
To turn a thinking machine into a doing machine, you need to give it hands and senses. In the world of agentic AI, those hands and senses are custom functions. This is the key to unlocking the true potential of cognitive automation for your business.
Think of an agent from thinking.do as having two parts:
The Brain (Reasoning Core): This is a powerful LLM that excels at understanding goals, breaking them down into steps, and creating a logical plan. When you give it a goal like, "Analyze recent tech news and identify top AI trends," the brain figures out it needs to search the web, read articles, and synthesize information.
The Hands (Tools & Functions): These are the capabilities the agent can use to execute its plan. A built-in tool like web.search acts as the agent's hands to interact with the public internet.
While built-in tools are a great start, the real magic happens when you provide your own custom functions. These are secure bridges that connect the agent's reasoning brain directly to your unique business environment.
A custom function is simply a piece of your own code that you make available to your thinking.do agent. You define what the function does, what inputs it needs, and what it returns. The agent's reasoning core then intelligently decides if and when to use your function to achieve its goal.
Let's imagine you want to automate a weekly sales report.
The Goal: "Fetch sales data for the 'Omega Project' for the past 7 days, generate a summary, and post it to the #sales-updates Slack channel."
Without Custom Functions: An agent can't do this. It doesn't know what the 'Omega Project' is, where your sales data lives, or how to post to your company's Slack.
With Custom Functions: You could provide the agent with a few specialized tools:
Now, the agent's process looks completely different:
This transforms the agent from a think-tank into a productive, automated team member.
Integrating your own functions isn't just a minor feature; it fundamentally changes what's possible with agentic AI. Here are the superpowers you unlock.
Your most valuable data isn't on the public web. With custom functions, your agent can securely query internal databases, CRMs, data warehouses, and more.
True automation requires action. Custom functions allow your agent to interact with internal APIs and third-party services, turning decisions into outcomes.
Your business runs on specific rules, validations, and processes. You can embed this crucial logic within your custom functions, ensuring the agent operates safely and correctly. The agent doesn't need to learn your complex expense policy; it just needs to know it can call a submitExpenseReport(report) function that handles all the validation internally.
LLM reasoning has elements of non-determinism, but your code doesn't. When an agent calls your calculateTax(cartTotal, region) function, it gets a precise, deterministic result. This grounds the agent's creative planning in factual, reliable execution, giving you the best of both worlds.
The thinking.do platform was designed from the ground up for this kind of powerful extensibility. We make connecting your business logic a core part of the workflow.
Here’s how you can supercharge the agent from our basic example by adding a custom tool to search internal company news.
// Import the core agent and your own custom function
import { Agent } from '@do/sdk';
import { getInternalCompanyNews } from './my-custom-tools';
const thinker = new Agent('thinking.do');
// 1. Describe your custom tool in plain English for the agent
const internalNewsTool = {
name: 'company.getInternalNews',
description: 'Fetches the latest internal news updates and memos for company employees.',
// You would also provide a schema for inputs/outputs here
function: getInternalCompanyNews
};
async function summarizeCompanyStrategy() {
const result = await thinker.run({
goal: 'Review the last 3 internal news updates and write a one-sentence summary of the company\'s current strategic focus.',
// 2. Give the agent access to your new tool
tools: [internalNewsTool, 'document.summarize']
});
console.log(result.output.summary);
// "The company's current strategic focus is on expanding into the European market
// while increasing R&D investment in our AI-driven analytics platform."
}
summarizeCompanyStrategy();
By adding a single custom function, you've enabled the agent to perform a high-value analysis that was previously impossible. It can now combine its ability to read internal documents (via your function) with its ability to summarize them (a built-in tool) to achieve a sophisticated business goal.
The future of AI in business isn't about finding the perfect prompt. It's about building robust systems where AI can reason and act within your specific operational context.
Custom functions are the bridge to that future. They are the fundamental building blocks for creating truly useful, goal-oriented AI agents that can drive real-world value.
Ready to build agents that do? Explore the thinking.do platform and see how you can bring cognitive automation to your unique business challenges today.