The world of business automation is undergoing a fundamental shift. We're moving away from rigid, monolithic scripts and toward dynamic, intelligent systems known as agentic workflows. These workflows can reason, adapt, and execute complex business processes. But what powers these intelligent agents? The answer lies in something simple, powerful, and revolutionary: the atomic action.
At its core, an atomic action is the smallest, indivisible unit of work. It’s the foundational building block for all automation. With action.do, we've made it easy to define, execute, and manage these actions. But the true power isn't just in what you can build for yourself—it's in what we can all build together.
This is your invitation to join a movement: a community dedicated to building and sharing a universal library of atomic actions to power the next generation of business automation.
Think of an atomic action as a super-powered function. It’s a self-contained, reliable, and observable component designed to perform one specific task perfectly.
Common examples of atomic actions include:
Each one is a perfect, predictable tool in your automation toolkit.
Building your own library of actions is a fantastic first step. But the real acceleration happens when we stop reinventing the wheel and start sharing our tools. A community-driven registry of atomic actions offers exponential benefits.
Why share your actions?
Creating a high-quality, sharable action is about clarity and precision. Let's break down the code for a send-email action to see the core principles in action.
import { Action } from '@do-co/core';
// Define the input for our action
interface SendEmailInput {
to: string;
subject: string;
body: string;
}
// Define the output of our action
interface SendEmailOutput {
messageId: string;
status: 'sent' | 'failed';
}
// Create the action as a service
const sendEmail = new Action<SendEmailInput, SendEmailOutput>({
name: 'send-email',
description: 'Sends a transactional email.',
handler: async (input) => {
// Integration with an email provider (e.g., SendGrid, SES)
// would happen here. For this example, we'll simulate it.
console.log(`Sending email to ${input.to}...`);
const messageId = `msg_${Date.now()}`;
return {
messageId,
status: 'sent',
};
},
});
// This action can now be executed within any workflow or agent.
Here’s what makes this a great template for a sharable action:
The foundation of the agentic workflow revolution is being built right now, one atomic action at a time. Every repetitive task in your current workflow is an opportunity—a candidate for a robust, reusable action that you can use and share.
We envision a future where a rich ecosystem of action.do components allows developers and businesses to assemble sophisticated automation and AI agents with unprecedented speed and confidence.
What will you build? What challenges will you solve?
Start by looking at your own processes. Create your first action. And when it’s ready, share it. Join the movement and help build the future of automation.