Your database
The durable state of every conversation lives in your PostgreSQL. You can query it, back it up and delete it yourself.
Automate replies on WhatsApp Business and Instagram, organize contacts in your CRM and follow up on sales. AI uses your knowledge base and hands over to your team when needed.
A real conversation, live: picking a model, asking, and the tools it runs to answer.
The leads a Meta Ads form collects arrive through the same Meta account, landing in the same inbox as everything else.
You choose the model: Anthropic
Fig 0.1
Every message from every channel lands in the same place, with the same status and the same history. No tabs to check.
Fig 0.2
The agent answers with what you loaded: prices, hours, stock, policies. If it isn't written down, it doesn't make it up — it hands it to you.
Fig 0.3
On Pro and Managed we operate the infrastructure for you. If you'd rather run it on your own server, against your own Postgres, Enterprise is a one-time purchase.
Fig 01
Contacts, status and the last message of every conversation, wherever they come from. When the agent isn't sure, it marks the contact as “waiting on a human” and stops replying — so you know exactly where a person is needed.
Every contact with its status and last message, wherever it came from.
Open, waiting on a human, follow-up overdue and closed — the four the app uses. The agent sets the status on its own, based on what happened in the conversation.
Search by name, phone or note, and download the filtered list as CSV whenever you need it elsewhere.
Every contact keeps its notes and reminders, so the next message doesn't start from zero even if someone else picks it up.
Automations
A trigger, a few steps and an action. You build them by describing in plain language what you want to happen, and they stay visible as a diagram anyone on the team can read and fix.
A message starts the support workflow you prepared.
It searches your knowledge and checks whether it has enough to answer.
It resolves what it knows. When information is missing, it hands the conversation to a person.
You define the steps. The workflow starts replying when you activate it.
Describe the flow and the assistant builds it step by step. Then edit it by hand on the canvas if something isn't quite right.
Every automation has its own URL, so you can trigger it from your website, your store or any system you already use.
Nothing publishes itself. A new automation starts as a draft and only begins responding once you activate it.
And a flow doesn't end in a message — it ends in something that happened
Stripe and Mercado Pago
A payment link, created on the spot
Sheets and Calendar
The row in a sheet, the booking on the calendar
Voice
A voice note, in the voice you pick
Your own API
Your CRM, your store, whatever you already use
Fig 03
oruka is the one that answers, but you can create your own: one for sales, one for after-sales, one that only watches campaigns. Each with its own instructions, knowledge base and tools.
The list of your agents and their status, in one view.
Before doing anything that leaves the chat, the agent asks for approval and shows you exactly what it's about to run.
Upload your documents and the agent answers by citing them. Whatever isn't loaded doesn't get answered — it gets handed off.
Anthropic, OpenAI or the Vercel AI Gateway, with your own key. Change it from Settings without touching code.
Fig 04
An agent isn't just text. It searches your documents, books an appointment, sends a payment link — and when it doesn't know something, it hands the conversation to a person. Every capability is granted separately, agent by agent.
How each one is set upFig 04.1
Searches the documents you uploaded, or imported from a Drive folder — prices, catalogues, policies — and answers by citing them. What isn't loaded doesn't get made up.
Fig 04.2
Stops the automated replies and leaves the contact as “Waiting on a human,” with a note of what they asked.
Fig 04.3
Checks your Google Calendar for availability and books the slot inside the same conversation.
Fig 04.4
Your campaigns' lead forms come in on their own, carrying the campaign they came from, and get the first message without you watching.
Fig 04.5
Creates a Stripe or Mercado Pago payment link, sends it in the conversation and marks it paid when the webhook confirms.
Fig 04.6
The same agent answers the phone in the voice you choose, and every call's transcript is kept.
And also: CRM and contacts, lead qualification, API and webhooks, public forms, email templates, photos and audio, reminders, the business profile and Shopify orders.
Nothing is on by default: you pick what each agent gets. Capabilities that depend on an integration stay greyed out until you connect it, so nobody hands an agent a checkout with no payment account behind it.
Fig 05
Meta Ads leads land in the same inbox as everything else, so impressions, clicks and campaign spend stop being loose numbers — they read alongside what that person actually asked.
Campaigns, leads and their metrics, in one view.
Active, paused and their spend, without leaving the tool where you're already watching the conversations.
Every lead arrives with the campaign that brought it, so the agent knows what the person is talking about.
A lead that didn't reply isn't lost — it becomes a dated follow-up, and the agent picks it back up.
Enterprise
With Enterprise, oruka isn't a service you send your conversations to — it's an application you install, under a perpetual license, one-time purchase, not a subscription to a pricier server. The only thing that leaves your server is the call to the model you've configured.
~litsun-migsyt
Your company
enterprise · Valid thru 12/30
This installation's id
a3f9c1d0-77b2-4e58-9c31-6de0f28a4b17
License id
5f3a9c2e-7b41-4d8a-9e06-c1d2b3a4f5e6
The durable state of every conversation lives in your PostgreSQL. You can query it, back it up and delete it yourself.
The code the model writes runs in a Docker sandbox with network egress blocked.
Every inbound webhook — Meta, Stripe, Mercado Pago, ElevenLabs — is verified against an HMAC over the raw body before it is parsed.
Model keys are stored on your machine and edited from Settings, not on someone else's dashboard.
The agent only calls the hosts you allow, over HTTPS. Loopback, private ranges and raw IPs are refused even if you ask for them.
Traces go out over OpenTelemetry to the collector you run. If something fails, you see it on your own dashboard.
Fig 07
From corner shops to multi-branch operations. This is what the people already answering WhatsApp and Instagram with oruka every day have to say.
Pasamos de responder en horas a responder en minutos. El bot resuelve lo repetitivo y nosotros cerramos la venta.
Businesses already using it
Fig 08
Two subscriptions to the instance we host and run for you, and a one-time license for whoever would rather run it on their own server.
See the plans in detailFor businesses that want to use oruka without managing infrastructure.
$79
per month
For companies with higher volume and a need for support.
$249
per month
For whoever needs to run it on their own infrastructure
$9,990
one-time payment
Pro and Managed include AI Credits for model usage. If you'd rather use your own key, the provider bills you directly.
Fig 09
What people usually ask before getting started, hosted by us or on their own server.
Oruka is an AI agent platform for customer support and sales on WhatsApp and Instagram. It brings conversations, CRM, a knowledge base and automations together. You configure what each agent should answer, and your team can step into conversations that need human support.
Yes. You can organize contacts and leads, review conversations, add notes and manage sales opportunities. Reminders and automations help you follow up from the same workspace where you handle WhatsApp and Instagram.
On Pro and Managed, nothing on your end — you subscribe and we run it. If you pick Enterprise and self-host it, you need Node 24 or newer, Docker — which spins up the database and isolates the agent's code —, a PostgreSQL with its tables created, and the key for whichever model provider you choose. The Setup screen checks every requirement on your own machine and tells you what's missing before you start.
Anthropic, OpenAI or the Vercel AI Gateway, with your own key. By default chat uses Claude Sonnet 5 and automations use Claude Opus 5, but the model for each kind of task can be changed from Settings without touching code.
Yes. WhatsApp and Instagram connect using your own Meta app's credentials. There's also a web chat channel, and every automation exposes an inbound webhook for whatever you already have set up.
It hands off. It searches your knowledge base first, and if the answer isn't loaded, it doesn't improvise — it passes the conversation to a person and leaves the contact as “Waiting on a human,” which is how it shows up in the inbox.
Upload your documents in Knowledge — price lists, catalogs, policies, hours — and the agent answers by citing them. Whatever isn't in a document doesn't get answered. That page also needs a key with embeddings to index and search; the rest of the app works without it.
Depends on the plan. On Pro and Managed they run on our infrastructure, under the confidentiality terms in Privacy — no one on the team reads them except to give support, with your permission. If you need them to never leave your own server, Enterprise runs 100% on your infrastructure: there, it's just you, against your own Postgres, and the only thing that leaves the machine is the call to the model you've configured.
Pro starts at $79 a month and Managed at $249, both discounted if you pay annually, and both include AI Credits for model usage. If you'd rather use your own key instead of the included credits, the provider bills you directly. If you'd rather not pay a subscription, Enterprise is a one-time purchase.
On Pro and Managed, you don't have to do anything — we update the instance for you. On Enterprise it's an application in your own repository: pull the changes and rebuild, and since the database is yours, conversations, contacts and automations survive the update.