Skip to main content
Dari is a browser automation platform that lets you build and execute complex workflows using AI-powered browser interactions. Whether you prefer visual workflow building or programmatic control, Dari provides powerful tools to automate any browser-based task.

How Dari Works

Dari provides two main approaches to building browser automation workflows:

Visual Workflow Builder

Build complex workflows visually on the Dari dashboard at app.usedari.com, then execute them programmatically via API. Perfect for:
  • Stable, repeatable workflows that won’t change frequently
  • Teams that need to collaborate on workflow design
  • When you want visual debugging and monitoring
  • Sharing workflows across multiple applications
Example:
from dari import Dari

client = Dari(api_key="YOUR_API_KEY")

# Execute a pre-built workflow
result = client.start_workflow(
    workflow_id="23a45a3f-c58c-492a-8e81-0fe6b3704ad2",
    input_variables={
        "email": "[email protected]",
        "meeting_title": "Q1 Planning"
    }
)

Learn More

Get started with Visual Workflow Builder →

Programmatic Actions

Build dynamic workflows by chaining single actions together programmatically. This approach gives you full control over execution flow with conditional logic and runtime decision-making. Perfect for:
  • Dynamic workflows requiring runtime decisions
  • Complex conditional logic and branching
  • Tight integration with your application
  • When you prefer code-based version control
Example:
from dari import Dari

client = Dari(api_key="YOUR_API_KEY")

# Create a session
session = client.create_session(
    screen_config={"width": 1440, "height": 900},
    ttl=3600
)

session_id = session["session_id"]

try:
    # Execute actions sequentially with full control
    result1 = client.run_single_action(
        action="Navigate to Google Calendar",
        session_id=session_id,
        id="nav-to-calendar"
    )

    # Add conditional logic based on results
    if "success" in result1['result'].lower():
        result2 = client.run_single_action(
            action="Create a meeting called {{title}}",
            session_id=session_id,
            id="create-meeting",
            variables={"title": "Q1 Planning"}
        )

finally:
    client.terminate_session(session_id)

Learn More

Get started with Programmatic Actions →

Browser Automation Capabilities

Regardless of which approach you choose, Dari provides three powerful browser automation methods:
Not sure which browser automation method to use? Check out our decision guide to find the right approach for your use case.

Quick Comparison

FeatureVisual Workflow BuilderProgrammatic Actions
SetupBuild in dashboardWrite code
ExecutionAPI call to workflow IDChain API calls
ModificationsUpdate in dashboardModify code
Conditional LogicLimitedFull control
Version ControlDashboard-basedGit-based
DebuggingVisual debugging toolsCustom logging
Best ForStable, repeatable workflowsDynamic, conditional workflows

Next Steps

Choose your preferred approach to get started: Or explore our browser automation capabilities:

Need Help?

For detailed API information, refer to the API Reference or contact support at [email protected].