This guide builds up an email assistant in three stages — starting with sending, then adding receive, and finally automating inbox triage with channels and scheduled prompts. Each stage teaches you a new part of how Prosponsive and n8n work together.
The first thing the Email Assistant needs is the ability to send email. You'll install this from the tool catalog — which also walks you through adding your SMTP credentials to n8n.
| Field | Gmail | Outlook / Microsoft 365 | iCloud |
|---|---|---|---|
| Host | smtp.gmail.com | smtp.office365.com | smtp.mail.me.com |
| Port | 465 | 587 | 465 |
| Password | App password | Your password or app password | App-Specific Password |
| SSL/TLS | Enabled | Enabled | Enabled |
Gmail users: Gmail requires an App Password instead of your account password. Go to myaccount.google.com/apppasswords, generate one for "Prosponsive", and use that here.
iCloud users: Go to your iCloud account page → App-Specific Passwords, generate one for "Prosponsive", and use that here.
Outlook / Microsoft 365 users: You may need to ensure "Authenticated SMTP" is enabled for your specific mailbox in the Microsoft 365 admin center.
The Send Email tool requires a From address with every message. You'll add your email address directly to the agent definition so it always knows to use it.
My email address for sending is
you@example.com. Always use this as thefromEmailparameter when calling send tools.
you@example.com with your actual SMTP account email address, then save.With Send Email installed, try it out.
Send a quick note to alex@example.com — subject "Checking in", body "Hey Alex, just following up on our conversation from last week. Let me know if you have time to chat."
The agent won't send without your confirmation unless you explicitly tell it to proceed directly. This is the default guardrail — you can remove it from the agent definition once you're comfortable.
Now let's give the agent the ability to read your inbox. This step uses a pre-built workflow you import into n8n and configure with your IMAP credentials. IMAP is the protocol for reading email — separate from SMTP, which you set up in Section 1 for sending. Most mail providers support both.
email-receive.json from the Tools folder inside the Prosponsive project directory you selected at install time.Same account, different protocol. SMTP (which you set up in Section 1) is the send protocol. IMAP is the read protocol. Your email provider uses both — same username and password, just a different credential type in n8n.
| Field | Gmail | Outlook | iCloud |
|---|---|---|---|
| Host | imap.gmail.com | outlook.office365.com | imap.mail.me.com |
| Port | 993 | 993 | 993 |
| Password | App password | Your password or app password | App-Specific Password |
| SSL/TLS | Enabled | Enabled | Enabled |
Outlook / Microsoft 365 users: You may need to ensure IMAP access is enabled for your specific mailbox in the Microsoft 365 admin center.
Test it:
Check my email
The tool fetches up to 20 emails per run and tracks its position using the IMAP UID of the last message it processed. Each subsequent run picks up where the previous one left off — only new emails are submitted. Your inbox read/unread state is never touched. Each email is submitted individually for agent inference and appears as its own thread in the Email channel. Switch to the Email channel to see them arrive. The tool returns a count of emails processed, but the actual content and agent responses are in the Email channel, not in the channel where you typed the command.
You can control how many emails are fetched in a single run by telling the agent how many you want — up to 50:
Check my last 5 emails
Instead of asking the agent to check email manually, set up a channel and a scheduled prompt so it runs on its own.
| Field | Value |
|---|---|
| Prompt | Check for new emails and summarize what needs my attention. |
| Agent | Email Assistant |
| Channel | |
| Schedule | Every 30 minutes (or whatever cadence suits you) |
The Email Assistant now checks your inbox on the schedule you set. Each new email appears as its own thread in the Email channel automatically — no manual prompting needed.
As the agent's summaries arrive in the Email channel, you can move threads to project-specific channels to keep things organized.
Move this to Project Zen
The thread moves to the Project Zen channel (created automatically if it doesn't exist). A tombstone link is left behind in Email so you can find it later.
Add routing rules to the agent definition so it proposes moves on its own. Open the Email Assistant agent editor and add a new ## Routing Rules section at the end of the agent description with a table like this:
## Routing Rules
| Channel | When to route |
|---|---|
| `Project Zen` | Email is about Project Zen — mentions the project name, related people, or deliverables. |
| `Approvals` | Email is requesting my approval or sign-off. |
Save the agent. It will now propose move-thread cards automatically for emails matching these rules.
Once routing rules are in place and a few emails have arrived, you can review and approve proposed actions in bulk.
Once you're confident a routing rule is correct, you can stop seeing approval cards for it entirely. To get a fresh card to work with, send yourself a test email that will trigger the rule — for example, an email mentioning "Project Zen". When the approval card appears:
Future Project Zen routing happens silently. You only see a card for channels you haven't auto-approved yet, or when the agent is unsure about a match.
To move emails to trash on your mail server, you'll install the Email Move To Folder tool — a separate n8n workflow that issues IMAP move commands. Once it's installed, you teach the agent which folder is your trash and when to use it.
email-move-to-folder.json from the Tools folder inside your Prosponsive project directory.The trash folder name varies by provider:
| Provider | Trash folder name |
|---|---|
| Gmail | [Gmail]/Trash |
| Outlook / Microsoft 365 | Deleted Items |
| iCloud | Deleted Messages |
| Other | Trash (most providers) |
Open the Email Assistant agent editor and add a new ## Trash Rules section at the end of the agent description:
## Trash Rules
- **CRITICAL: Evaluate trash rules BEFORE routing rules.** If a trash rule matches, move to trash immediately — do not evaluate routing rules.
- Apply these trash rules when deciding `email_move_to_folder` trash actions:
- **Thread participation override**: NEVER trash if the thread contains a previous reply from me. If I have participated in the thread, skip all trash rules.
- **Unsubscribe signals**: Trash when the HTML body contains any unsubscribe, manage preferences, or opt-out link.
- **Marketing / promotional content**: Trash bulk marketing — product recommendations, promotional offers, newsletters, "shop now" calls-to-action.
- **Cold sales solicitation**: Trash unsolicited outreach attempting to sell a product or service — no prior relationship, generic pitch, book-a-demo CTA.
In the Tool Parameter Guidance section, add:
When calling `email_move_to_folder` to trash an email, provide these parameters:
- **folderName**: The trash folder for this account (e.g. `[Gmail]/Trash`, `Deleted Items`, `Deleted Messages`, or `Trash`)
- **uid**: The numeric IMAP UID from the Request Context (always a plain integer, never a UUID)
- **mailbox**: From the Request Context (default to `INBOX` if missing)
In the Guardrails section, add:
- First evaluate trash rules. If a match, call `email_move_to_folder` with the trash folder. Then evaluate channel routing rules. If a match, call `move-thread`. If no rules match and no action needed, summarize and ask me.
Wait for a marketing email or newsletter to arrive. The Email Assistant will propose an email_move_to_folder card targeting your trash folder with a reason. Approve it and the email moves to trash on your mail server — recoverable any time from your email client.