In today's fast-paced digital landscape, the most critical parts of your business are often the most fragile. Think about it: customer onboarding, claim processing, financial reconciliation. These aren't single-click tasks; they are complex, multi-step processes that often involve a messy combination of manual data entry, brittle scripts, and human hand-offs. A single error can bring everything to a grinding halt.
What if you could treat these complex services not as a series of manual steps, but as a single, reliable, version-controlled piece of software?
This is the promise of Agentic Workflows, a powerful new paradigm in automation. It’s about creating autonomous software "agents" that execute business processes from start to finish. And service.do is the platform designed to build them.
Simple automation is about triggers and actions: if this, then that. It's useful, but it breaks down when faced with the complexity of real-world business services. Agentic Workflows are different. They are:
This approach embodies the Business-as-Code philosophy. By defining your business processes in code, you gain the same benefits trusted by the world's best software teams: version control, automated testing, peer review, and auditable history. You're not just automating a process; you're engineering a reliable service.
Let's make this concrete. Imagine the common business service of onboarding a new customer. Manually, this might involve verifying their identity, creating an account in your database, adding them to your CRM, and sending a welcome email. It's error-prone and slow.
With service.do, you define this entire process as a clear, readable workflow.
import { Service, Workflow } from '@do/sdk';
// Define the workflow for onboarding a new customer
const onboardCustomerWorkflow = new Workflow('onboard-customer-workflow', {
steps: [
{
name: 'Verify Customer Identity',
uses: 'identity.do/verify',
inputs: {
email: '{{ trigger.body.email }}',
document: '{{ trigger.body.documentId }}'
}
},
{
name: 'Create User Account',
uses: 'account.do/create',
needs: ['Verify Customer Identity'], // This step depends on the previous one
inputs: {
// Pass data from the verification step
email: '{{ steps.Verify Customer Identity.outputs.email }}',
status: '{{ steps.Verify Customer Identity.outputs.status }}'
}
},
{
name: 'Send Welcome Email',
uses: 'email.do/send',
needs: ['Create User Account'],
inputs: {
to: '{{ steps.Create User Account.outputs.email }}',
template: 'welcome-email'
}
}
]
});
// Expose the workflow as a callable service
export const OnboardCustomer = new Service('onboard-customer', {
workflow: onboardCustomerWorkflow,
// Make this service available via a public API endpoint
trigger: 'api'
});
Let's break down what's happening here:
One API call now executes a resilient, multi-step business process that is managed, versioned, and monitored just like any other piece of critical software.
When you shift from manual processes and scripts to agentic workflows on service.do, you unlock massive advantages.
A traditional API might create a user or send an email. A Service on the .do platform achieves a business outcome. It orchestrates multiple tasks, manages the state between them, and handles errors along the way, abstracting away the underlying complexity.
The uses field in a workflow step can call any API, but it can also call another .do Service. This allows you to build a library of reusable business capabilities. Your OnboardCustomer service could be used as a building block within a larger ProvisionEnterpriseTier service. This composability is how you go from solving a single problem to building a scalable, enterprise-grade operating system for your business.
Because your business process is now code in a Git repository, you get:
Say goodbye to the mystery of "who changed the Zapier rule?" and hello to engineering-grade discipline for your core business operations.
Ready to stop wrestling with brittle scripts and manual workflows? It's time to transform your complex business services into simple, reliable software.