Pipeline orchestrator for services · built in Nepal

Your services, in one pipeline.

Uptrig orchestrates the services your business already uses — SMS and WhatsApp gateways, email, Pathao, eSewa and Khalti. An event from your store, booking system or app starts a pipeline: each step calls one service, in order, retried until it lands and recorded in full. A cleared payment can start the next one.

तपाईंका सेवाहरू, एउटै पाइपलाइनमा।

Invite-only while we onboard our first businesses. Write to hello@uptrig.com.

01Your system sends an event

POST /t/k_9f2c…
{
  "event": "order.created",
  "order_id": "A-1042",
  "payment_type": "COD",
  "customer": {
    "name": "Sita", "phone": "98XXXXXXXX"
  }
}

or a schedule · an agent over MCP · a cleared payment

02Uptrig runs the pipeline, step by step

  1. 1Confirmation SMSsend_message · Sparrow · 1.2 sDelivered
  2. 2Book the parcelcreate_shipment · PathaoBooked
  3. 3Tracking link on WhatsAppsend_message · attempt 2 of 10Retrying

UTR / FLOW · 01

How it works

  1. 01

    Connect your providers

    Add an SMS gateway (Sparrow or Aakash), WhatsApp, Viber, your email server, Slack — or a payment gateway and a courier. Credentials are encrypted and never shown again.

  2. 02

    Write the message, test it first

    Use the order's own fields: Hi {{ body.customer.name }}. Paste a sample order and see exactly what the customer will receive before anything is sent.

  3. 03

    Point your system at the link

    Each workflow gets its own trigger URL. Your system posts events to it — or the workflow runs on a schedule, or an agent fires it over MCP. Uptrig handles the rest, around the clock.

UTR / CH · 02

Channels

One workflow can send to several channels, one after another. Credentials live in one place, so you can replace a leaked token without touching a single workflow.

  • CH-01

    Available

    SMS

    Through Sparrow or Aakash SMS, with your own sender identity.

  • CH-02

    Available

    WhatsApp

    Through Meta's WhatsApp Cloud API.

  • CH-03

    Available

    Viber

    Business messages through your own Viber bot.

  • CH-04

    Available

    Email

    Through your own SMTP server: Gmail, your host, or a relay. Nepali subjects and text arrive intact.

  • CH-05

    Available

    Telegram

    Straight to a chat or channel through a bot.

  • CH-06

    Available

    Slack

    Post to a Slack channel through an incoming webhook.

  • CH-07

    Available

    Webhook

    A JSON POST to any URL, for your own systems.

UTR / OPS · 03

Get paid, ship the parcel

Messages are only half of the job. A workflow step books the delivery, and a cleared payment starts the next workflow — no extra integration.

  • PAY

    Available

    Payments

    Your app starts an eSewa or Khalti payment through Uptrig's API and gets the payment link back. Uptrig verifies the gateway's callback, settles each payment exactly once, then runs your workflow — a receipt, a voucher, an SMS. Asking again for the same order returns the same link, never a second one.

  • SHIP

    Available

    Parcels

    Book a Pathao parcel from the order and text the customer the tracking link. Booking is idempotent, so a retry never double-books.

UTR / MCP · 04

Fire it from an agent

Uptrig speaks MCP, the tool protocol AI agents use. Point an agent at /mcp, authenticate with an API key, and it can look up a workflow, preview the message, and start a run — while the wording, channel and recipient stay in the workflow you own.

  • list_workflows
  • get_workflow
  • preview_workflow
  • fire_workflow
  • list_runs
  • get_run
  • get_event
  • replay_run

Read tools are marked read-only; only fire_workflow and replay_run change anything. Every call is rate limited and recorded against your account.

agent → /mcp
tools/call  fire_workflow
{
  "workflow_id": "wf_9f2c…",
  "body": { "order_id": "A-1042", "payment_type": "COD" },
  "idempotency_key": "A-1042"
}

→ run started · run_4b1e… Delivered

UTR / RLB · 05

Built not to drop messages

  • Retries with backoff. If a gateway is down, Uptrig waits and tries again, up to ten times.
  • Duplicates ignored. Tell Uptrig which field identifies an order, and a webhook sent twice still sends one SMS.
  • Replay in one click. Fix a wrong token, then resend the failed runs.
  • Every attempt on record. What was sent, to whom, what the provider answered, and how long it took.
uptrig · runs
FailedPayment receipt10:39:55Sparrow 403: invalid token. Fix it and replay.
RunningCOD confirmation10:40:12attempt 3 of 10 · next try in 8 s
DeliveredCOD confirmation10:42:07SMS · 1.2 s · attempt 1

UTR / USE · 06

What businesses use it for

Cash-on-delivery confirmation
Hi Sita, order A-1042 (Rs 2,450) is confirmed. Pay on delivery.
Appointment reminder
नमस्ते राम, भोलि बिहान १० बजे तपाईंको अपोइन्टमेन्ट छ।
Payment received
Payment of Rs 12,000 received for invoice INV-208. Thank you.
Payment link
Hi Sita, pay Rs 2,450 for order A-1042: esewa.com.np/…
Parcel on the way
Order A-1042 is on the way. Track it: pathao.com/…

UTR / DEP · 07

Hosted or on your own server

Uptrig Cloud

We run it for you. Invite-only for now while we onboard our first businesses.

Request access

Self-hosted

One container image and a PostgreSQL database. Same features; orders and logs stay on your server, and only the messages themselves go out to your providers.

docker compose up -d
Ask for the image

UTR / FAQ · 08

Questions

What is Uptrig?
Uptrig is a pipeline orchestrator for services. It plugs into the system that already runs a business — a store, a booking system, an app — and when that system sends an event, Uptrig runs a pipeline of steps, each calling one service: a message on SMS, WhatsApp, Viber, email, Telegram or Slack, a Pathao parcel booking, a timed delay. It also takes eSewa and Khalti payments and settles each one exactly once. Every step is retried until it lands and recorded in full.
Which channels does Uptrig support?
SMS through Sparrow or Aakash, WhatsApp through Meta's Cloud API, Viber through your own bot, email through any SMTP server, Telegram and Slack, and a plain HTTP webhook. Credentials live in one place, so you can swap a provider without editing workflows.
Can I self-host Uptrig?
Yes. Self-hosting is one container image and a PostgreSQL database, started with docker compose up. It has the same features as the hosted version, your orders and logs stay on your own server, and only the messages themselves leave to reach your providers.
How does Uptrig avoid sending duplicate messages?
You tell Uptrig which field identifies an order, such as body.order_id. If the same webhook arrives twice, Uptrig stores it once and sends a single message. A failed run can be replayed after you fix the cause.
Can an AI agent use Uptrig?
Yes. Uptrig exposes an MCP server at /mcp. An agent can list workflows, preview a message, fire a workflow and read the run, while the wording, channel and recipient stay in the workflow you own. Every agent call is rate limited and logged.
Can Uptrig take payments?
Yes. Your app starts an eSewa or Khalti payment through Uptrig's API and gets the payment link back. Uptrig verifies the gateway's callback, settles each payment exactly once, and then runs your workflow. Asking again for the same order returns the same link rather than a second one.
Can Uptrig book a courier?
Yes. A create_shipment step books a Pathao parcel from the order and its output carries the tracking link for a following SMS. Booking is idempotent, so a retry never double-books.

Your next order deserves a message that arrives.