When you treat your business logic as code, you need the same level of observability you'd expect from any critical application. Agentic workflows, with their complex decision-making and interactions, can sometimes feel like a black box. A deployment might succeed, but is the workflow behaving as intended? What happens when an execution fails? How do you debug an issue without drowning in a complex web UI?
Enter the .do CLI.
At cli.do, we believe that managing your Business-as-Code should be as seamless and efficient as the rest of your development lifecycle. That’s why we’ve built powerful monitoring and logging capabilities directly into our terminal interface. You can now get a real-time pulse on your agentic workflows without ever leaving the command line.
For developers, the terminal is home. It's fast, scriptable, and removes the friction of context-switching. Bringing workflow observability into this environment offers distinct advantages:
The .do CLI makes your terminal the single source of truth for your agentic workflows.
Let's dive into the practical commands that give you full visibility into your deployed workflows.
First, you need a high-level overview. Is your workflow active, still deploying, or has it encountered an error? The status command provides a quick health check.
After deploying a workflow like our customer-onboarding-v2 example, you can immediately check its status.
# Check the status of a specific workflow
$ do workflow status customer-onboarding-v2
# Output:
# ✓ Fetching status for 'customer-onboarding-v2'...
#
# Workflow Details:
# Name: customer-onboarding-v2
# ID: wkfl_a1b2c3d4e5f6
# Status: Active
# Last Deployed: 2023-10-27T10:00:00Z
# Endpoint: https://api.do/workflows/customer-onboarding-v2
This simple command confirms that your service is up and running, ready to process requests.
To truly understand what your agentic workflow is doing, you need to see its logs in real-time. Whether it's processing data, calling an external API, or making a decision, the logs --tail command streams its activity directly to your terminal.
# Tail the logs for the customer onboarding workflow
$ do workflow logs --tail customer-onboarding-v2
# Output:
# ✓ Streaming logs for 'customer-onboarding-v2'... (Press Ctrl+C to exit)
# [2023-10-27T11:30:01Z] INFO: New execution triggered. ID: exec_z9y8x7w6
# [2023-10-27T11:30:02Z] INFO: Validating user input for 'new.user@example.com'.
# [2023-10-27T11:30:03Z] INFO: Calling CRM API to create contact...
# [2023-10-27T11:30:05Z] INFO: Contact created successfully. ID: crm_12345.
# [2023-10-27T11:30:06Z] INFO: Sending welcome email to 'new.user@example.com'.
# [2023-10-27T11:30:07Z] INFO: Workflow execution completed successfully.
This is indispensable for debugging and for gaining confidence that your workflow is executing its logic as designed.
Sometimes, you need to investigate an issue that happened in the past. The .do CLI allows you to fetch historical logs with powerful filtering options.
You can fetch logs from a specific timeframe or retrieve all logs for a particular execution ID.
# Get logs from the last hour
$ do workflow logs customer-onboarding-v2 --since=1h
# Or get all logs for a specific failed execution
$ do workflow logs customer-onboarding-v2 --execution=exec_f4e3d2c1
# Output:
# ✓ Fetching logs for execution 'exec_f4e3d2c1'...
# [2023-10-26T15:20:10Z] INFO: New execution triggered. ID: exec_f4e3d2c1
# [2023-10-26T15:20:11Z] INFO: Validating user input for 'bad.user@example.com'.
# [2023-10-26T15:20:12Z] ERROR: CRM API call failed.
# [2023-10-26T15:20:12Z] FATAL: Reason: API key is invalid or expired.
# [2023-10-26T15:20:13Z] INFO: Workflow execution failed.
With this precise insight, you can pinpoint the exact cause of failure—in this case, an invalid API key—and resolve it quickly.
One of the most powerful aspects of the .do CLI is its scriptability. Because these are simple command-line operations, you can seamlessly integrate them into your CI/CD pipelines.
Imagine a deployment pipeline in GitHub Actions. After deploying a new version of a workflow, you can add a step to monitor its rollout, ensuring it becomes active and doesn't immediately throw errors.
Here's a conceptual example:
# .github/workflows/deploy.yml
- name: Deploy Workflow and Verify
env:
DO_API_TOKEN: ${{ secrets.DO_API_TOKEN }}
run: |
# Deploy the new workflow version
do workflow deploy . --name="customer-onboarding-v3"
# Wait and check status
echo "Verifying deployment..."
sleep 10
do workflow status customer-onboarding-v3
# Check for initial errors
echo "Checking initial logs for errors..."
do workflow logs customer-onboarding-v3 --limit=20
This turns your CI/CD pipeline not just into a deployment tool, but a proactive monitoring and quality assurance system for your agentic workflows.
Your business logic deserves the best developer tools. The .do CLI brings clarity and control to your agentic workflows, transforming them from opaque processes into transparent, manageable code. By providing robust logging and monitoring in the terminal, we empower you to build, deploy, and debug faster than ever before.
Ready to gain unparalleled insight into your services?
Installation is as simple as running:
npm install -g @do/cli
For more details, check out our official documentation and start turning your complex business processes into simple command-line operations.