Skip to content
all work

TalosOps

Multi-tenant AI customer-operations platform

One platform running customer service for many businesses at once — an agent that answers and acts across every channel, and Talos, an operator the owner talks to in Egyptian Arabic that runs the platform for them.

Sole engineer — architecture, backend, frontend, agent design, retrieval, security, deploys

TalosOps product screen
372,869
TypeScript
7,822
Tests
424
Migrations
35
Modules
896
Commits
94
Talos actions
Next.js 15TypeScript strictSupabase / PostgresRow-level securitypgvectorGemini · Claude · OpenAICohere embeddingsMCPShopify · PaymobWhatsApp · Instagram · Messenger · Telegram · GmailAramex · Bosta · DHL · SMSANotion · Sheets · Drive · Confluence · Mironext-intl (EN/AR)Tailwind v4Vercel

What it actually is

TalosOps is a multi-tenant AI customer-operations platform. A business connects the channels its customers already use — WhatsApp, Instagram, Messenger, Telegram, Gmail, a chat widget on its own site — and an AI agent answers on its behalf: it knows the company's policies and products, reads live orders from the store, books and tracks shipments with the carriers Egyptian and Gulf businesses actually use, creates payment links, and hands off to a human the moment it should.

Around that agent sits a whole operation: a unified inbox, tickets, CRM, sales campaigns, customer workflows, a knowledge centre with cross-lingual search, quality scoring of the agent's own replies, workforce scheduling — and Talos, an operator agent the owner talks to in Egyptian Arabic and that runs the platform for them.

Why it matters. A small e-commerce business answers the same forty questions every day, and every answer lives somewhere a machine can reach. Agencies solve that one client at a time, with a new codebase per client. TalosOps is one platform where the difference between clients is configuration — so a fix, a new channel or a new integration reaches every tenant at once.

Talos — the agent that operates the platform

Talos (تالوس) is the client's operator: one chat in the management console where the business owner talks the way they talk to their operations manager — direct, Egyptian, no ceremony — and the platform gets operated. Ask how things are and it reads the inbox, the tickets, the quality numbers and the connected channels and answers with figures. Ask it to close a conversation, move a customer to a pipeline stage, add a knowledge document, draft a WhatsApp campaign, import leads from an attached file, invite a teammate or explain how to connect a courier — and it does it, showing every step as it works.

94 actions, two speeds. In اسألني الأول every change waits on an approval card that says plainly what will happen and to whom; in نفّذ تلقائي changes run immediately and are recorded. For a multi-step job — launch a campaign, clean up a queue — Talos proposes the whole plan once and the owner approves it once.

Specialists, not a help bot. Yasmin (inbox, customers, orders, knowledge, quality), نوح (metrics, period comparisons, breakdowns) and سيف (the floor, shifts, breaks) are instruments Talos uses; the owner never has to learn which one owns which question. Each also keeps a home on its own page.

Why it matters. A console the owner has to learn is a console they will not use most of. An operator that already knows the account, speaks the owner's dialect and does the clicking is the difference between software that was bought and software that is used.

A promise built in. Talos never asks for, accepts or repeats a password, API key or token in the chat — not even if the owner insists. Connecting anything happens on the console page or through a one-time setup link it hands to the owner's developer.

Talos — a real session

7 خطواتالمبيعاتخطة — موافقة واحدة

تم تنفيذ الخطة: مسودة حملة واتساب «تجربة تالوس» بعرض خصم 20% (محتاجة قالب واتساب معتمد وقائمة عملاء قبل التشغيل)، ومستند «سياسة الاسترجاع» اتحفظ واتفهرس للذكاء الاصطناعي.

approval card

خطة من خطوات متعددة: إنشاء مسودة الحملة وعرضها، وإضافة مستند «سياسة الاسترجاع» وفهرسته

ApproveDeny
  • • The owner talks in their own dialect; Talos answers the same way and shows each step as it works.
  • • Specialists — Yasmin, نوح, سيف, the sales engine — are instruments Talos uses, never people the owner has to route to.
  • • A multi-step job is one plan and one approval.
  • • Credentials never enter the chat: connecting anything happens on the console page or through a one-time setup link.

The console, page by page

The management console the owner lives in, as it stands on 2026-09-08, in Arabic:

نظرة عامة — the executive overview. Not a collage of counters: what changed, whether it is good or just more volume, which department, channel, agent or teammate explains it, and which conversations are the evidence. A missing measurement shows as unavailable, never as zero. Money stays four separate things — pipeline, store sales, recorded profit, and our own cost — and is never summed into one number.

الإنبوكس — the smart inbox. Real work lists (unassigned, assigned, shared queue, snoozed, resolved, one per sales campaign), saved views, filters by department, channel, intent, customer tone and waiting time, and the team's live load.

العملاء — CRM. Contacts, pipeline, tasks, companies, at-risk customers, duplicate detection with a reversible merge, and imports that land on the same customer records the agent reads.

رحلات العملاء — customer workflows. The first one: cash-on-delivery order confirmation over WhatsApp, completed by the agent, with a bounded set of safe changes it may make to the order on the customer's behalf.

المبيعات — campaigns. WhatsApp and email campaigns with approved templates, lead import from a file or from the CRM, schedules, and per-campaign reply lists in the inbox. Campaign images can be generated on the client's own Gemini or Higgsfield account, with spend limits and human review.

أقسام الحساب واستوديو الإيجنت. Isolated operating spaces inside a tenant, each with its own agents, staff, channels and knowledge; new conversations are distributed across the department's agents. Agent Studio sets each agent's model, persona, dialect and register.

فريق العمل — the workforce OS. A live command centre: who is on shift, who is free, breaks from the weekly plan, requests, analytics, and the working hours the AI quotes to customers in their own language when nobody is available — with a deliberate rule that when no one is free, the AI does not promise a handoff it cannot deliver.

المعرفة، التكاملات، القنوات، الشحنات، تحليل الجودة — covered below.

The customer-facing agent

The agent that answers customers is built to be trusted with real actions, not just with answers.

  • It answers in the customer's language and dialect — 13 languages, and for Arabic a choice of Egyptian, Gulf, Levantine or Modern Standard, each with a formal, neutral or warm register. It understands Egyptian customers who write Arabic in Latin letters and digits.
  • It answers from the business, not from memory — company documents, the playbook, and live data: orders, products, shipments, spreadsheets, calendars.
  • It can act — create, modify or cancel an order, book a shipment, book an appointment, create a payment link — and it only changes anything after the customer explicitly confirms and their identity has been verified. Paid-order edits that move money go to a human. This was proven on a live store: a real order created and then cancelled through the agent.
  • It hands off — to a human, with a ticket and a summary, the moment it should, and it never invents a handoff nobody can take.
  • It is guarded — safeguards that run before a reply is sent catch a confirmation the agent did not actually perform, a reply that repeats the previous one, and a reply in the wrong dialect. These exist because each of those happened once in production and was caught.
  • It stays up — the agent runs across Gemini, Claude and OpenAI, so one provider's outage degrades an answer rather than taking the service down; a safety refusal is treated as a final answer, never routed around.

Why it matters. A read-only bot is safe and half useful. An agent that can act, and that a business owner can trust to act, is the product.

Knowledge

The knowledge centre is what stops the agent guessing. Sources: written documents (return policy, shipping, exchanges, payment methods, a size chart), uploaded files with OCR for scans, Notion, Google Drive, Confluence, live Google Sheets the agent reads and writes, Miro boards, YouTube transcripts, and a helpdesk import that moves help-centre articles — never customer records. Uploads go directly to storage without passing through our server.

Search that crosses languages. A question asked in English or in Franco-Arabic finds the right Arabic document, and a question in Arabic finds an English one. That was chosen on measurement: a purely keyword-based search failed the real questions customers ask, and semantic search found the right passage almost every time. Page images inside documents — diagrams, tables — can be searched too.

Reply attachments. A separate library of images and PDFs the agent may send a customer, each with a plain-language instruction for when to send it. Switching it off stops the agent instantly.

Technologies: Postgres with pgvector, Cohere embeddings, OCR through a vision model.

Knowledge search across languages

Customer asks

What is your exchange policy?

Egyptian customers write Arabic, English, or Arabic in Latin letters and digits — often all three in one conversation. The agent finds the right document whichever script the question arrives in, so it never says “I have no information” about something the business documented in detail.

Why it matters: the most common failure of a support bot is not a wrong answer — it is a confident “we do not have that” for a question the policy page answers.

Found

  • سياسة الاستبدال والاسترجاع

    best match

    الاستبدال متاح خلال ١٤ يوم من الاستلام بشرط إن المنتج بحالته الأصلية…

  • مواعيد الشحن

    related

    الشحن داخل القاهرة من يوم لـ ٣ أيام عمل، والمحافظات من ٣ لـ ٥ أيام…

Sources: documents, files with OCR, Notion, Drive, Sheets, Confluence, Miro, YouTube, page images.

Integrations and channels

Ten channels are connected on the proving tenant — WhatsApp, Instagram, Messenger, Telegram, Gmail, and the web widget — and any mailbox can be added over IMAP. Stores: Shopify live, WooCommerce and Salla one click away. Carriers: Bosta live, Aramex, SMSA and DHL ready. Payments through Paymob, with payment links the agent can create in a conversation and money that never passes through TalosOps. CRMs: Odoo, HubSpot, Salesforce, Microsoft Dynamics. Calendars: Google and Microsoft 365. An OpenAPI connector for a restaurant, pharmacy or ERP system, and a local bridge for a POS that must not open a port.

Why it matters. The agent is only as useful as what it can see and do; every connector is another question it can answer without a human.

Technologies: signed webhooks from every provider, encrypted credentials that are never displayed and never typed into a chat, per-tenant rate limiting, and an outbound gate for every URL that came from tenant data.

Integrations

Channels · 10 connected

  • WhatsAppWhatsAppTalosOps + sandbox
  • MessengerMessenger2 pages
  • InstagramInstagram2 accounts
  • TelegramTelegrambot per tenant
  • GmailGmailagent reads + replies
  • </>Web chatalways on, no setup
  • @IMAP / SMTPany provider, app password
  • MOutlook / 365soon
  • TikTokTikTokrejected twice · domain age
  • WeChatWeChatsoon
  • Voice callssoon

Commerce · payments

  • ShopifyShopifyproducts · orders · writes
  • WooCommerceWooCommercedirect connect, no key copying
  • SSallaofficial Salla app
  • PPaymobpayment links in chat · money never touches TalosOps
  • $Stripeno keys yet

Shipping

  • BBostaagent books behind explicit approval
  • AAramexEgypt · COD native
  • SMSMSAKSA · SECOM
  • DHLDHLunified tracking

Knowledge sources

  • PDFFiles + OCR5 documents · direct-to-storage upload
  • NotionNotionOAuth + sync
  • Google SheetsGoogle Sheetslive, agent reads + writes
  • Google DriveGoogle Driveone click away
  • ConfluenceConfluenceone click away
  • MiroMiroboards, cards, notes
  • YouTubeYouTubenew · transcripts
  • Helpdesk importnew · articles, not customer records
  • IMGReply attachmentsfiles the agent sends customers
  • wwwWebsite crawlsoon

CRM · calendar · systems

  • OdooOdooread check, batched partner import
  • HubSpotHubSpotone click away
  • SFSalesforceOAuth per org, field-level allow-list
  • DVDynamics 365Dataverse tables the agent may use
  • Google CalendarGoogle Calendarbookings
  • MOutlook calendarone click away
  • { }OpenAPI systemrestaurant, pharmacy, ERP — verified first, agent off by default
  • Talos Local BridgePOS / kitchen / ERP without opening a port

AI · images · platform

  • Google GeminiGeminiprimary model
  • AnthropicClaudefallback · agents on Sonnet 5
  • AIOpenAIlast resort
  • coCohere embed-v41024-d, cross-lingual
  • Google GeminiGemini Imagesclient's own key, spend limits, human review
  • HHiggsfieldcampaign images, client's own balance
  • Model Context ProtocolMCP gatewayread tools · approved writes
  • v1Public API v1bearer keys, 120/min

Credentials stay encrypted and are never displayed — and never typed into a chat. Connecting happens on the console page or through a one-time setup link Talos mints for the client's developer.

Quality

An agent that answers customers is measured the way a human agent is.

Every closed conversation can be evaluated: a scorecard, a predicted satisfaction score, errors classified by root cause, a suggested fix. Human QA scores sit beside the AI's, and the customer's own survey rating beside both — three separate signals, labelled as such, never blended. The page shows automation rate, mistakes awaiting review, critical conversations with the reason, a training room, calibration, and quality rules that flag high-risk conversations automatically. Every number is actually measured; whatever is unmeasured shows as such, not as zero.

A QA simulation harness role-plays dozens of customers against the live agent in a sandbox so a new configuration can be reviewed before real customers meet it. Yasmin is the read-only quality copilot: ask about overall quality, a conversation by reference code, an order or a customer, and she investigates without being able to change anything.

Security and privacy

  • Tenant isolation is enforced by the database, with row-level security, and a second boundary inside each tenant separates departments.
  • Credentials are encrypted before they are stored, never displayed, and never accepted in a chat.
  • The audit trail records which fields the agent consulted, not their values — you can establish that the agent looked at a shipping address; you cannot read the address out of the log. Reporting is aggregate.
  • No customer content in logs; webhook handlers log identifiers and counts only.
  • Public endpoints are rate-limited per tenant and per key, and every inbound webhook is verified before anything is read or written.
  • Written truth rules for every analytics number: definition, window, sample size, timezone, and whether it is measured or unavailable.

Technologies: Supabase / Postgres with RLS, encrypted credential storage, signed webhooks, constant-time comparisons, SSRF protection.

An open platform

Two ways in for other software. A public API with keys minted in the client's own dashboard, scoped and rate-limited, for a client's backend to send messages to their agent. And an MCP connector, so an AI client can read a workspace — inbox status, conversations, tickets, knowledge, operations summary — and, in private beta, prepare changes that the user approves in their own signed-in TalosOps session before anything runs.

What is blocked, and by whom

BlockerState
TikTok Business APIRejected twice; the last rejection cited domain age. Not fixable by editing the application — it needs time
Gmail APIThe scope that lets the agent act on mail is restricted and needs a paid security assessment; the current app is capped at 100 users
StripeKeys not present; billing runs as a no-op
Meta App ReviewWhatsApp, Messenger and Instagram answer on the proving tenant today; the review that lets any client connect through Embedded Signup is still in the queue

Listing these is not an apology. Three of the four are third-party review queues, and knowing precisely which door is shut is the difference between a roadmap and a wish.

Decisions I would defend

If I cannot say why the alternative is worse, I do not understand the code in my own repository — regardless of who typed it.

01One core, configured per tenant
Custom code per client is the easy first answer and the expensive second one. Every client is a configuration of the same platform, so one fix, one channel or one integration reaches all of them.
02The agent is allowed to act — with the customer's confirmation
A read-only agent is safe and half useful. Orders are changed only after explicit confirmation and identity verification, and the write path was proven on a real store, not in a design document.
03The owner gets an operator, not a console to learn
Talos does the clicking. Anything the owner can do in the console, they can get done by asking — in their own dialect, with every step shown and every change approved or recorded.
04Credentials never enter a chat
A chat that has ever accepted a secret cannot be un-designed. Connecting anything happens on the console page or through a one-time setup link.
05Search technology chosen on measurement
Keyword search failed the questions customers actually ask, in the scripts they actually use. That was measured before the architecture was picked, not argued about.
06A safety refusal is a final answer
The agent runs across three AI providers for resilience, and a content refusal is never routed around to a provider that might say yes.
07The audit log records names, not values
An audit trail that stores what the agent read becomes a second copy of the customer database. Recording which fields were consulted is enough to review a decision and not enough to leak one.
08Numbers that cannot be measured are shown as unmeasured
Every dashboard figure carries its definition and its sample; a missing measurement is never dressed as a zero.

Honestly — what is not true yet

Pre-revenue. The platform is genuinely in production and the code is real, but the tenants on it — LAYAN, Plus D, Almah — are demo environments I built and drive myself. There is no paying customer yet, and getting one is the only goal that matters. Talos is a week old. Meta's App Review for Embedded Signup is still pending, so today only tenants we connect by hand get WhatsApp, Instagram and Messenger. Self-serve signup is built and locked behind a flag. Billing is a no-op until Stripe keys exist.