EditionsChannelsUse CasesDocumentationCommunityDownload Get Started →
Documentation

Build your first flow in 5 minutes

Everything you need to install Arka, configure your first channel, write your first flow, and deploy to production.

Installation

Install the Arka OSS edition using one of the supported methods below:

# Via Docker (fastest)
docker run -p 8080:8080 pommala/arka:latest

# Via installer package
curl -sSL https://get.arka.dev | sh

# Via package managers
brew install arka        # macOS
apt-get install arka     # Debian / Ubuntu
yum install arka         # RHEL / Rocky

After installation, open http://localhost:8080 and follow the setup wizard to connect your first channel.

Quickstart: your first flow

A flow is the unit of work in Arka. Every flow has three parts: a trigger, zero-or-more transforms, and one-or-more delivery steps.

1. Define the flow

flow: order-confirmation
trigger:
  type: webhook
  path: /hooks/orders/new
steps:
  - channel: email
    to: {{ order.customer_email }}
    template: order-confirmation
  - channel: sms
    to: {{ order.customer_phone }}
    template: order-short

2. Deploy it

arka deploy flows/order-confirmation.yaml

3. Test it

curl -X POST http://localhost:8080/hooks/orders/new \
  -H "Content-Type: application/json" \
  -d '{"order": {"customer_email": "ada@example.com", "customer_phone": "+14155552671"}}'

Flows

Flows are defined declaratively in YAML or JSON. Each flow is versioned, auditable, and independently deployable. Flows can be triggered by webhooks, schedules, incoming messages, or internal events.

Every flow execution gets a unique execution_id that ties together all downstream delivery attempts, retries, and analytics events — so you always have a clean audit trail.

Triggers

A trigger is what starts a flow. Supported trigger types:

  • webhook — an HTTP request hits a path you define
  • schedule — a cron expression or interval
  • incoming — a message arrives on a configured channel
  • event — an internal event from another flow

Transforms

Transforms modify the flow's working payload between trigger and delivery. Built-in transforms include: filter, split, aggregate, enrich (via HTTP call), map, and branch.

Delivery

Every delivery step specifies a channel, a to address, and either template + variables or raw body content. Retries, per-step timeouts, and fallback channels are all configurable.

API reference

The Arka REST API is documented at /api/docs on any running Arka instance. Every endpoint is versioned (/v1/) and follows consistent conventions:

  • JSON request and response bodies
  • Bearer-token authentication via Authorization header
  • Pagination via ?page and ?size
  • Filtering via ?filter[field]=value

CLI reference

arka init                   # Initialize a new project
arka deploy <flow-file>     # Deploy a flow
arka list                   # List deployed flows
arka logs <flow-id>          # Tail a flow's logs
arka test <flow-file>        # Run a flow with test payload

Release notes

1.4 · Apr 2026 — New flow templates, improved retry semantics, Teams 2025 messaging API.

1.3 · Mar 2026 — WhatsApp template library, SMS cost-optimized routing.

1.2 · Feb 2026 — OSS Small Firm edition launch, multi-user RBAC.

1.1 · Jan 2026 — Teams connector GA, Adaptive Cards support.

1.0 · Dec 2025 — First stable release. Email, WhatsApp, SMS, Slack channels GA.