In today's data-driven world, the richness of your user data can be a significant competitive advantage. Combining internal data with third-party sources like Clearbit or LinkedIn can unlock powerful insights for sales, marketing, and product development. However, building and maintaining the infrastructure to perform this data enrichment is often a complex and brittle engineering challenge.
You have to manage multiple API integrations, handle authentication, respect rate limits, implement retry logic, and scale your infrastructure to handle fluctuating loads. What starts as a simple script can quickly balloon into a DevOps nightmare.
What if you could offload all that complexity? What if you could define your entire data enrichment logic as code and execute it as a single, reliable, and scalable API call?
This is the promise of processing.services.do. In this guide, we'll walk you through how to build a powerful data enrichment pipeline using an agentic workflow platform, transforming a complex process into a simple, manageable service.
Imagine you need to build a service that enriches a new user profile. Your goal is to collect information from three sources:
A traditional approach might involve a monolithic service or a series of serverless functions glued together. You’d immediately face several challenges:
This is where you spend most of your time—on the plumbing, not the business logic.
processing.services.do offers a different paradigm. Instead of building the plumbing, you focus on the core business logic. This is achieved through agentic workflows—a system where you define your logic as independent, containerized "agents," and the platform handles the orchestration, execution, and scaling.
Think of it this way:
Let's build our scalable data enrichment pipeline.
First, you package each piece of your business logic into a containerized agent. An agent is just a stateless application that accepts a payload, performs a task, and returns a result.
For our workflow, you would create three agents:
By isolating the logic, each agent becomes simple to build, test, and maintain. You're no longer managing a distributed system, just writing focused functions.
Once your agents are defined and registered on the processing.services.do platform, you define a workflow. This is a simple declaration (e.g., a YAML or JSON file) that tells the platform how to orchestrate your agents.
You might define a workflow named enrich-user-profile that specifies: "When triggered with a userId and a list of sources, run the corresponding agents in parallel and aggregate their results."
We can visualize this flow:
graph TD
A[API Call to processing.services.do] --> B{Workflow: enrich-user-profile};
B --> C[enrich-clearbit-agent];
B --> D[enrich-linkedin-agent];
B --> E[enrich-internal-db-agent];
C --> F{Aggregate Results};
D --> F;
E --> F;
F --> G[POST to Webhook];
The platform's orchestrator reads this definition and handles the parallel execution automatically. This is the core of true workflow automation.
Now for the best part. With the complex logic defined and orchestrated on the platform, triggering it is incredibly simple. All the complexity is hidden behind a clean API service.
Using the platform's SDK, you can kick off a high-priority job that will notify you via a webhook upon completion.
import { Do } from '@do-sdk/core';
const processing = new Do('processing.services.do', {
apiKey: 'your-api-key',
});
// Define and run a data enrichment workflow
const job = await processing.run({
workflow: 'enrich-user-profile',
payload: {
userId: 'usr_12345',
sources: ['clearbit', 'linkedin', 'internal_db'],
},
config: {
priority: 'high',
onComplete: 'https://myservice.com/webhook/job-done',
}
});
console.log(`Job started with ID: ${job.id}`);
That's it. Your application sends one secure API request. The processing.services.do platform takes over, spinning up the necessary resources to execute your agents in parallel, and your application can move on.
Because data enrichment can be time-consuming, the platform is designed for asynchronous operations. When the job is finished, the platform will gather the results from all the agents and send a single POST request to the onComplete webhook you specified.
The payload of this webhook might look something like this:
{
"jobId": "job_abc123",
"status": "completed",
"result": {
"clearbit": { "company": "Acme Corp", "employees": 500 },
"linkedin": { "title": "Software Engineer", "connections": "500+" },
"internal_db": { "signup_date": "2023-01-15", "plan": "enterprise" }
}
}
Your service simply needs one endpoint to listen for these results, completely decoupling it from the execution of the enrichment workflow.
Building your data pipelines this way provides immense benefits:
Q: What kind of processing can I perform with processing.services.do?
A: You can run virtually any custom logic. Common use cases include data transformation (ETL), batch processing, image/video rendering, financial calculations, and orchestrating sequences of microservice calls. If you can code it, we can process it.
Q: How do I define my processing logic?
A: You define your business logic as containerized agents. processing.services.do acts as the orchestrator, invoking your agents with the provided payload and managing the execution state, scalability, and error handling for you.
Q: Is the processing service scalable?
A: Yes. Our platform is engineered for high-throughput, parallel processing. It automatically scales compute resources based on your workload, ensuring your jobs are completed efficiently, whether you're running one task or a million.
Q: Can I run long-running tasks?
A: Absolutely. The platform is designed for both synchronous (quick) and asynchronous (long-running) jobs. For long jobs, you can provide a webhook URL to be notified upon completion, allowing you to build robust, event-driven systems.
Ready to stop wrestling with complex data pipelines and start leveraging simple, scalable workflow automation? Transform your most intricate processes into on-demand API calls.
Visit processing.services.do to learn more and start building for free.