EditionsChannelsUse CasesDocumentationCommunityDownload Get Started →
Use Cases

What teams build with Arka

Three real-world shapes that cover the majority of production communication workloads. Each one is a blueprint — expand on it, mix pieces, or compose multiple blueprints into a single flow.

Use case 01

Event-driven Messaging

An event-driven messaging flow reacts to application events — signups, orders, payments, alerts, SLA breaches — and dispatches the right message to the right channel for the right audience.

Arka ingests events from webhooks, queues, or your internal bus, applies routing rules (user preference, geo, language, opt-in status), renders the right template per channel, and dispatches in parallel with retry and fallback built in.

  • Trigger on HTTP webhook, message queue, cron, or internal event
  • Route by user preference, locale, or channel availability
  • Render channel-specific templates from one variable set
  • Fan out to multiple channels or fall back to secondary channel on failure
  • Per-recipient idempotency keys prevent duplicate sends
Example flow
flow: payment-failed-notification
trigger:
  type: event
  name: payment.failed
steps:
  - route:
      by: {{ user.preferred_channel }}
      branches:
        email:
          - channel: email
            template: payment-failed-email
            fallback: [sms]
        whatsapp:
          - channel: whatsapp
            template: payment-failed-wa
            fallback: [sms, email]
        sms:
          - channel: sms
            template: payment-failed-sms
Use case 02

Bulk Communication Pipelines

When you need to send thousands or millions of messages — campaigns, password resets, announcements, compliance notices — you need rate-limiting, retries, reputation protection, and real-time analytics without building them yourself.

Arka processes a recipient list through a rate-limited queue, applies per-provider and per-destination throttling, handles transient failures with exponential backoff, and streams delivery receipts into its reporting pipeline for live dashboards.

  • Source recipient lists from CSV, database, or streaming API
  • Global and per-provider rate limits with token-bucket algorithms
  • Exponential backoff retries with max-attempts and dead-letter queues
  • Reputation-aware sending: warm-up schedules and throttle on bounces
  • Live delivery dashboards with per-batch breakdown
  • Batch cancellation, pause, and resume during a run
Example flow
flow: quarterly-campaign
trigger:
  type: batch
  source: s3://my-bucket/customers-q2.csv
rate_limit:
  per_second: 1000
  per_provider: sendgrid
steps:
  - channel: email
    template: quarterly-update
    retries:
      max: 3
      backoff: exponential
      dead_letter: s3://my-bucket/dlq/
    provider: sendgrid
    fallback: [mailgun]
Use case 03

Two-way Conversational Flows

Real customer interactions are rarely one-shot messages. Support threads, appointment confirmations, OTP verification, interactive bots — all require round-trip messaging with state, context, and routing that works across multiple channels.

Arka handles the full conversation lifecycle: outbound message with a reply window, inbound webhook matching, session state, context carry-over between turns, timeouts, and human-escalation handoff. The same flow can start on WhatsApp and finish on email.

  • Session state management with TTL and context carry-over
  • Inbound message matching back to the originating flow
  • Intent detection hooks for LLM or rule-based bot logic
  • Multi-turn conversation timeouts with escalation paths
  • Human handoff to Slack or Teams with full conversation history
  • Cross-channel threading: start on WhatsApp, continue on Email
Example flow
flow: support-request
session:
  ttl: 24h
  store: {{ customer.id }}
steps:
  - channel: whatsapp
    template: support-ack
    wait_reply: 10m
  - intent:
      provider: llm
      on: {{ last_reply }}
  - branch:
      when:
        resolved:
          - channel: whatsapp
            body: "Glad we could help!"
        needs_human:
          - channel: slack
            to: #support-queue
            body: "Escalation for {{ customer.id }}"
            include_history: true

Have a different use case in mind?

These three shapes cover most production communication. But every team is different — if your flow doesn't fit here, we'd love to hear about it.