Nox-Lumen MfgNox-Lumen Mfg

Email integration (SMTP / IMAP)

Flow

Rendering diagram…

Capability matrix

DirectionProtocolHighlights
Outbound sendSMTP / SMTPSText/HTML/templates, attachments, inline images
Inbound fetchIMAP / IMAPSMessage pull, mailbox filters, attachments
Mailbox watchIMAP IDLE / pollSpawn agent sessions automatically
Policy routingLocal rules engineSender/topic MIME-type filters

Prerequisites

ProviderCredentialsCommon endpoints
On-prem Exchange / PostfixUser + passwordIMAP 993 SSL, SMTP 465/587
GmailApp password or OAuth 2imap/smtp Gmail hosts
Microsoft 365 / OutlookOAuth 2 preferredoutlook.office365.com:993
Tencent / NetEase enterprise mailIssued SMTP codesVendor docs

Gmail / Outlook routinely block password-based IMAP. Production should standardize OAuth 2 flows.

Configuration

Credential record

Console → Integrations → Email:

  • Mailbox label
  • IMAP/SMTP endpoints + TLS
  • Authentication (basic or OAuth default From)

Sanity check

combo-cli integration test --credential <cred_id> --type mail
# expect IMAP + SMTP positives

Optional trigger blueprint

trigger:
  source: email
  credential_id: <cred_id>
  match:
    folder: INBOX
    from_regex: "@supplier\\.com$"
    subject_regex: "(quote|quotation)"
  action:
    agent_id: "quote-assistant"
    session_template: "per-sender"
    inputs:
      subject: "{{ email.subject }}"
      body: "{{ email.body_text }}"
      attachments: "{{ email.attachments }}"

Auto-replies

on_finish:
  reply_email:
    credential_id: <cred_id>
    to: "{{ trigger.email.from }}"
    subject: "Re: {{ trigger.email.subject }}"
    body_html: "{{ agent.output_html }}"

Scenario ideas

Use caseSetup notes
Prospect emails → summarized quotesIDLE listener + drafts requiring human approval before send
Test / review summaries distributionSMTP after agent synthesis
Executive digests via cronCron + multi-recipient broadcasts
Supplier attachments → ingestionIDLE + parsers + KB upload

Large attachments / sender reputation

  • Size: default ~25 MB SMTP ceiling—larger payloads use temporary MinIO URLs
  • Authentication: DKIM / SPF / DMARC for branded domains
  • TLS mandates: Credential flag require_tls: true

Troubleshooting

SymptomFix
IDLE drops every ~30 minTurn on TCP keep-alive; SDK auto-reconnect (~25 min cadence default)
Deliveries flagged spamTune DNS authentication + sending cadence
Subject mojibakeEnforce UTF-8 headers / MIME folds
OAuth refresh failuresShort Outlook refresh TTL—implement refresh reliably

On this page