The email channel connects Talon to any standard email account. Talon polls the inbox via IMAP to receive incoming messages and delivers replies via SMTP. Any email provider that supports IMAP and SMTP works — Gmail, Outlook, Fastmail, self-hosted mail servers, and so on.
How It Works
Section titled “How It Works”- Talon connects to your inbox over IMAP and polls for new messages.
- When a new email arrives (from an allowed sender, if
allow_fromis configured), it is passed to the AI agent. - The agent’s response is sent as a reply to the original email via SMTP.
- The conversation is stored in the shared ConversationStore, keyed by the email thread, so replies maintain context.
Gmail requires an App Password rather than your main account password. App Passwords are available when 2-Step Verification is enabled on your account.
- Go to myaccount.google.com/apppasswords.
- Select Mail and your device, then click Generate.
- Copy the 16-character app password.
Use these settings:
| Field | Value |
|---|---|
imap_host | imap.gmail.com |
imap_port | 993 |
smtp_host | smtp.gmail.com |
smtp_port | 587 |
email | Your full Gmail address |
password | The generated App Password |
Outlook / Microsoft 365
Section titled “Outlook / Microsoft 365”| Field | Value |
|---|---|
imap_host | outlook.office365.com |
imap_port | 993 |
smtp_host | smtp.office365.com |
smtp_port | 587 |
email | Your full Outlook address |
password | Your account password or app password |
Self-Hosted / Other Providers
Section titled “Self-Hosted / Other Providers”Use the IMAP and SMTP settings provided by your email host. Most providers list these in their help documentation.
Example Config
Section titled “Example Config”{ "channels": { "email": { "accounts": { "gmail": { "imap_host": "imap.gmail.com", "smtp_host": "smtp.gmail.com", "email": "you@gmail.com", "password": "abcd efgh ijkl mnop", "imap_port": 993, "smtp_port": 587 } } } }}Configuration Fields
Section titled “Configuration Fields”| Field | Required | Default | Description |
|---|---|---|---|
imap_host | Yes | — | IMAP server hostname |
smtp_host | Yes | — | SMTP server hostname |
email | Yes | — | Email address used to log in and send from |
password | Yes | — | Account password or app-specific password |
imap_port | No | 993 | IMAP port (993 for TLS, 143 for STARTTLS) |
smtp_port | No | 587 | SMTP port (587 for STARTTLS, 465 for TLS) |
allow_from | No | — | List of email addresses allowed to send messages |
model | No | — | Override the default AI model for this account |
Restricting Access
Section titled “Restricting Access”The allow_from field accepts a list of email addresses. Emails from any address not on the list are silently ignored.
{ "channels": { "email": { "accounts": { "gmail": { "imap_host": "imap.gmail.com", "smtp_host": "smtp.gmail.com", "email": "your-bot@gmail.com", "password": "abcd efgh ijkl mnop", "allow_from": ["you@yourpersonaldomain.com"] } } } }}Multiple Accounts
Section titled “Multiple Accounts”You can connect multiple email accounts — for example, one for personal use and one for a team:
{ "channels": { "email": { "accounts": { "personal": { "imap_host": "imap.gmail.com", "smtp_host": "smtp.gmail.com", "email": "talon-personal@gmail.com", "password": "..." }, "work": { "imap_host": "outlook.office365.com", "smtp_host": "smtp.office365.com", "email": "talon@company.com", "password": "..." } } } }}