In the world of software development, we're constantly searching for better abstractions. We moved from monolithic applications to microservices to decouple logic. We adopted serverless functions to forget about infrastructure. Now, we're on the cusp of the next major shift: moving from writing complex, imperative code to declaring intelligent, autonomous workflows.
Welcome to the era of Agentic Workflows.
This new paradigm, powered by specialized AI and software agents, is changing how we build, deploy, and manage complex business operations. At devs.do, we believe this is the future. It's not just automation; it's your entire business logic, codified and delivered as a scalable service.
Let's dive into what agentic workflows are and how they empower you to build powerful Services-as-Software.
An Agentic Workflow is a sequence of tasks executed by specialized, autonomous agents. Instead of writing low-level code to handle every step, you simply declare what you want to achieve by defining a chain of agents and the data that flows between them.
Think of it like being a project manager for a team of experts:
The devs.do platform acts as the ultimate project manager, orchestrating the agents, handling errors, and ensuring the final result is delivered reliably. This declarative approach is the core of our Business-as-Code philosophy—treating your operational processes like version-controlled, testable software artifacts.
On the devs.do platform, an agentic workflow is defined within a service called a "Doer". A Doer is a single-purpose, autonomous service that performs a specific task and is exposed via a simple API.
Let's break down the code example to see it in action:
import { Doer, Client } from '@do-inc/sdk';
// Configure your client with an API key
const client = new Client({ apiKey: 'YOUR_API_KEY' });
// Define a new service (a "Doer")
const codeAnalysisService: Doer = {
name: 'code-analyzer.devs.do',
description: 'Analyzes a git repository for code quality.',
input: {
type: 'object',
properties: {
repoUrl: { type: 'string', description: 'The URL of the git repository.' },
},
},
// Define the agentic workflow
workflow: [
{ agent: 'git.clone', params: { url: '{{input.repoUrl}}' } },
{ agent: 'linter.run', params: { path: './cloned-repo' } },
{ agent: 'security.scan', params: { path: './cloned-repo' } },
],
};
// Deploy your new service to the .do platform
async function deployService() {
const deployedDoer = await client.create(codeAnalysisService);
console.log(`Service deployed successfully at: ${deployedDoer.url}`);
}
deployService();
Here's what's happening:
Define the Doer: We create a codeAnalysisService object. It has a name, a description, and a defined input schema (repoUrl). This is the public contract of your service.
Declare the workflow: This is the heart of the system. It's an array that defines the sequence of agents to be executed.
Deploy: A single call to client.create() sends this definition to the devs.do platform. The platform instantly provisions everything needed to run this workflow and exposes it as a secure, scalable API endpoint.
You didn't write any logic for cloning a repo, running a linter, or wiring them together. You simply declared the agents you needed.
This approach fundamentally changes the developer experience for the better.
The shift to agentic systems is more than just a new trend in automation; it's a more intelligent and efficient way to build software. It allows developers to operate at a higher level of abstraction, transforming complex operations into simple, powerful, and scalable Services-as-Software.
Ready to stop writing boilerplate and start codifying your business? Get started with devs.do and deploy your first agentic workflow in minutes. The future of development is declarative, autonomous, and incredibly powerful.