Platform

A generic engine.Infinite compositions.

betool strictly separates the orchestration core from business modules. The result: the platform grows without debt, even after dozens of integrations.

Architecture

Three pillars, strictly isolated.

Each exposes a clear contract. None depends on another's internals.

channels

Entry channels

Each channel is an independent module. Real-time inbound and outbound telephony, email, chat widget, messaging apps, webhooks, external AI agents. Adding a channel has no impact on the others.

  • Normalized entry contract
  • Per-organization authentication
  • Strict module isolation

pipelines

Pipelines

A generic engine that chains AI agents, deterministic operators, routing, loops, parallel execution and human validation. The visual editor rejects incompatible connections as early as possible.

  • Typed contracts on inputs / outputs
  • Versioning and execution history
  • Replay on past traces

integrations

Integrations

More than thirty connectors (Google, Microsoft 365, HubSpot, Stripe, Jira, Slack, HeyGen, La Poste…), databases, knowledge base, web search and web reading. OAuth2, Bearer, API key authentication. Everything is versioned, everything is traceable.

  • Composable operators, reusable sub-pipelines
  • Knowledge base with semantic search
  • BYOK or managed models for LLMs

Entry channels

Everything that can trigger a pipeline.

Voice, text, web, scheduled — each channel is a module following the same contract.

Voice

Inbound calls

LiveKit + SIP, ASR/TTS, barge-in

GA

Outbound calls

Started by a pipeline, outcome returned

GA

Onoff Business

Calls and SMS, read-only

Beta

Email

Inbound / outbound email

IMAP, attachment parsing

GA

Web

HTTP webhook

Signed POST, arbitrary payload

GA

Web chat widget

Embedded script, public token

GA

Messaging

WhatsApp

Cloud API, media supported

GA

Telegram

Bot API, groups & private

GA

Mattermost

Outgoing webhook, threads

GA

WhatsApp via Green API

Your account, media supported

Beta

Messenger

Facebook Pages

Beta

SMS

AllMySMS, Brevo

Beta

Slack

Events API, messages and channels

Beta

CRM

Meta Lead Ads

Lead webhook, field mapping

GA

CRM (HubSpot, Qhare…)

Reading and creating records

Beta

System

Scheduled (cron)

Recurring tasks, timezones

GA

External AI agent

Conversation via MCP, authorized per model

GA

Pipeline building blocks

Typed, composable nodes.

No scattered prompts: each node type exposes a clear contract (inputs, outputs, configuration).

agent

Invokes a LLM with a mission, role, and tools

router

Routes the flow based on conditions

foreach

Iterates over a collection, adjustable pacing

parallel

Runs several branches in parallel

filter

Drops irrelevant exchanges

confirm_plan

Pauses for human validation

compute

Computations, aggregations, schema projections

file_transform

PDF and Excel reading, OCR and vision

data_to_file

Produces a file from the flow's data

code_step

Custom code in a sandbox, bounded by a tool allowlist

pipeline_call

Calls another pipeline as a function

phone_call

Places an outbound call and returns its outcome

Principles

Built to scale.

Genericity at the core

The engine knows no domain. Adding a use case never requires modifying the core.

Strict module isolation

Each channel, each node type lives in its own folder. Removing a module = zero impact on the others.

Native multi-organization

Data, pipelines, and secrets are isolated per organization. Nothing leaks, nothing mixes.

Built-in observability

Traced executions, per-tool counters, reproducible benchmarks. System state is always readable.

Let's explore your target architecture together.

Our technical teams answer your integration and sovereign deployment questions.