The email channel ingests your inbound emails and lets a pipeline reply, forward, or create downstream tasks.
Model
Two complementary modules:
email_inbound— reception (IMAP)email_outbound— sending (configured operator, or relay via your SMTP)
They are independent: you can use only the inbound module (to triage without replying), or only the outbound module (to send notifications from a pipeline triggered another way).
Setup
- Administration → Email → Mailboxes — connect an IMAP mailbox with its credentials.
- Map the mailbox to a target pipeline.
- (Optional) Configure a sender (SMTP) to reply.
For architectures that need to retain control of their mail servers, betool does not replace your MTA: we read and write via standard IMAP / SMTP.
What the pipeline receives
For each inbound email, a new exchange is created with:
exchange.user_message— email body (HTML → normalized text)exchange.email.subject— subject lineexchange.email.from— normalized senderexchange.email.thread_id— thread identifier (useful for multi-turn context)exchange.email.attachments— list ofFileMetadata(parsed attachments)
Attachments
Attachments are passed to the file_transform node for extraction (plain text, OCR for scanned PDFs, structured parsing for CSV / Excel). From there, your agent can work with them as if they were native text.
Threads & multi-turn context
When a customer replies to a previous response, betool recognizes the thread_id and restores the thread history in the agent's context. This is transparent to pipeline design.
Known limitations
- No native MS Exchange EWS support yet (you can expose Exchange over IMAP).
- No Microsoft Graph support for Office 365 (on the roadmap).
- Parsing very old emails (nested Outlook 2003 RTF) may lose some formatting.