Automate Fastmail Email Replies with n8n & OpenAI GPT-4

Discover how to automatically draft email replies in Fastmail using an n8n workflow combined with OpenAI’s GPT-4. Save time and reduce errors by leveraging API integrations to handle your inbox efficiently.
httpRequest
emailReadImap
set
+3
Workflow Identifier: 2092
NODES in Use: httpRequest, emailReadImap, set, openAi, splitOut, filter
Automate Fastmail replies with n8n and OpenAI

Press CTRL+F5 if the workflow didn't load.

Learn how to Build this Workflow with AI:

What This Workflow Does

This workflow watches a Fastmail inbox for new unread emails and writes reply drafts automatically using AI.
It pulls useful info from incoming emails, sends them to the GPT-4 AI to get smart, casual replies, and uploads these replies as drafts back into Fastmail.
It saves time on writing replies while keeping answers clear and polite.


Who Should Use This Workflow

If you handle many emails daily and get stuck copying, pasting, or thinking how to answer fast, you can use this.
It helps customer support people or anyone wanting quick, personal email drafts with less typing.


Tools and Services

  • Fastmail IMAP: Watches incoming unread emails.
  • Fastmail JMAP API: Finds Drafts folder and uploads draft emails.
  • OpenAI GPT-4: Creates personalized email reply drafts.
  • n8n Automation: Orchestrates all steps automatically.

How This Workflow Works

Inputs

The workflow starts when a new unread email arrives in Fastmail.
It receives sender address, subject, plain text email body, and some metadata like message ID.

Processing Steps

First, it extracts important fields from the email for easy use later.
Next, it sends the email content to OpenAI GPT-4 with a prompt to draft a casual reply that matches tone and language formality.

Then, it connects to Fastmail’s JMAP API to get the user session info, including mailbox IDs.
It fetches mailbox list and finds the Drafts folder by filtering on mailbox role labeled “drafts”.

After that, it prepares the draft email data: sets the draft folder ID, reply message, original message reference, from/to addresses, and subject with a “Re:” prefix.
Finally, it sends the draft email creation request via Fastmail’s JMAP API to save the draft.

Output

The output is a new draft email in the Fastmail Drafts folder.
Users can now review and send that reply easily from their email client.
This saves 1–2 hours daily of manual writing and reduces errors.


Beginner Step-by-Step: How to Use This Workflow in n8n Production

Import the Workflow

  1. Open the n8n editor where workflows are created.
  2. Click on the Download button on this page to get the workflow file.
  3. Use the “Import from File” option in n8n to load the workflow.

Configure Credentials and Settings

  1. Add your Fastmail IMAP and API credentials to the credential manager.
  2. Enter your OpenAI API Key for GPT-4 access.
  3. Check and update any email addresses, folder IDs, or account IDs if needed.
  4. Verify that all expressions referencing fields (like subject, from, body) match your data.

Test the Workflow

  1. Send a test email to your monitored Fastmail inbox.
  2. Run the workflow manually or wait for the trigger to activate.
  3. Check if a draft reply shows up in the Drafts folder.

Activate for Production

  1. Turn on the workflow in n8n so it listens continuously.
  2. Monitor execution logs occasionally for errors.
  3. Optionally set alerts via email or Slack for failures.
  4. Plan to update API keys or prompts over time for best results.
  5. If using self-host n8n on your server, ensure the hosting environment is stable.


Workflow Code and Prompt Examples

OpenAI GPT-4 Draft Reply Prompt

This prompt is sent to GPT-4 to create the email reply. It tells AI how formal or casual to be based on email content:

=Please analyze the following personal email and draft a casual response based solely on its content. Return only the response text without any additional introductions or formatting. The response should include appropriate greetings (e.g., "Hi", "Hallo" for German) and sign-offs (e.g., "Gruß", "Regard"). Add thanks if appropriate. Use "Du" only if the email contains it; otherwise maintain formality.

Subject: {{ $json.subject }}
Email Content: {{ $json.textPlain }}

Fastmail JMAP Session Request Body

This JSON asks Fastmail for your mail session details, used in later API calls:

=
{
  "using": ["urn:ietf:params:jmap:core", "urn:ietf:params:jmap:mail"],
  "methodCalls": [
    [
      "Mailbox/get",
      { "accountId": "{{ $('Session').item.json.primaryAccounts['urn:ietf:params:jmap:mail'] }}" },
      "c0"
    ]
  ]
}

Fastmail Draft Upload JSON Body

This JSON creates the draft with the AI-generated reply and original email references:

=
{
  "using": ["urn:ietf:params:jmap:core", "urn:ietf:params:jmap:mail"],
  "methodCalls": [
    [
      "Email/set",
      {
        "accountId": "{{ $('Session').item.json.primaryAccounts['urn:ietf:params:jmap:mail'] }}",
        "create": {
          "newDraft": {
            "mailboxIds": {"{{ $json.draftsId }}": true},
            "keywords": {"$draft": true},
            "inReplyTo": ["{{ $json.metadata['message-id'] }}"],
            "references": ["{{ $json.metadata['message-id'] }}"],
            "from": [{"name": "", "email": "{{ $('Session').item.json.username }}"}],
            "to": [{"name": "{{ $json['to-friendly'] }}", "email": "{{ $json.to }}"}],
            "subject": "{{ $json.subject }}",
            "bodyValues": {
              "textBody": {"value": "{{ $json.message.content.replace(/\n/g, '\\n') }}"}
            },
            "bodyStructure": {"partId": "textBody"}
          }
        }
      },
      "c1"
    ]
  ]
}


Customization Ideas

  • Change Email Tone: Edit the OpenAI prompt text to be more formal, funny, or caring.
  • Filter Emails: Add nodes to only work on emails from certain senders or with keywords.
  • Add Attachments: Extend to copy attachments into drafts if needed.
  • Detect Language: Use a language detector before AI to switch greetings automatically.
  • Log Drafts: Add Google Sheets nodes to save draft summaries for tracking.


Common Problems and Fixes

Authentication Failure in HTTP Requests

Usually cause is wrong or missing Fastmail API credentials.
Fix by checking credentials under HTTP Header Auth in n8n and re-enter your API Key if needed.

Drafts Folder Not Found

This happens if mailbox filtering is case sensitive or mailbox data is unexpected.
Add debug nodes to check mailbox data and adjust matching conditions.

AI Generates Off-Topic Replies

Prompt may be unclear or input data missing.
Improve the prompt text and check expressions pulling email content.


Pre-Production Checklist

  • Test IMAP login and trigger with example emails.
  • Run Fastmail session and mailbox ID requests to verify API access.
  • Try OpenAI with test inputs to check API key validity.
  • Confirm Drafts folder is detected correctly in filter steps.
  • Fake an incoming email to see if the draft uploads as expected.
  • Backup workflow JSON before making big changes.


Deployment Guide

Once tested, enable the workflow in n8n to run automatically.
Make sure Fastmail IMAP stays connected and monitor workflow logs.
Use alerting (Slack, email) for workflow errors if possible.
If hosting the workflow yourself, consider self-host n8n for control and stability.
Keep OpenAI prompts and API keys updated for smooth operation.


Summary

✓ Saves several hours daily by auto drafting replies
✓ Uses Fastmail IMAP and JMAP APIs with OpenAI GPT-4
✓ Creates ready email drafts with personalized text
✓ Simple setup in n8n with minimal manual typing
✓ Improves reply speed and consistency in customer support
→ Drafts appear in Fastmail ready to send
→ Less manual errors and more focus on important emails
→ Can be customized for tone, filters, and languages


Automate Fastmail replies with n8n and OpenAI

Visit through Desktop to Interact with the Workflow.

Author
Written By
Vikash Kumar
Building AI agents, n8n workflows and end-to-end automation for 30+ Brands across India, the US, Europe, Dubai & Australia. 7+ years of Experience saving founders real hours every week - no code required.
Author
Written By
Vikash Kumar
Building AI agents, n8n workflows and end-to-end automation for 30+ Brands across India, the US, Europe, Dubai & Australia. 7+ years of Experience saving founders real hours every week - no code required.

Frequently Asked Questions

Yes. But you must change API credentials and endpoints. This workflow is built for Fastmail’s JMAP API specifically.
Yes. It sends email content to OpenAI for each email processed, consuming API credits.
Fastmail API uses secure HTTP Header authentication. n8n stores API keys encrypted. Keep keys private and do not share.
It depends on server capacity and API limits. Adding queueing steps can help manage high volumes.

Related Workflows

Automate Twist Channel Creation and Messaging with n8n

This workflow automates creating and updating a channel in Twist and sending a personalized message to specific users. It eliminates manual setup errors and saves time managing Twist communications.

Automate Ideogram Image Generation with Google Sheets & Gmail

This workflow automates graphic design image generation via Ideogram AI, storing image data in Google Sheets and Google Drive, with email alerts via Gmail. It saves designers hours by automating image creation, remixing, review, and record-keeping.

Automate IT Support with Slack and OpenAI in n8n

Streamline IT support by automating Slack message handling using n8n and OpenAI. This workflow handles Slack DMs, filters bots, queries a Confluence knowledge base, and delivers AI-generated responses, improving support efficiency and response time.

Automate Crypto Analysis with CoinMarketCap & n8n AI Agent

Discover how this unique n8n workflow leverages CoinMarketCap’s multi-agent AI to deliver precise, real-time cryptocurrency insights directly via Telegram. Manage crypto data analysis efficiently with automated multi-source API integration.

Automate Gumroad to Beehiiv Subscriber Sync with n8n

Learn how to automatically add new Gumroad sales customers as Beehiiv newsletter subscribers using n8n automation. This workflow saves time by syncing sales data to Google Sheets CRM and notifying your Telegram channel instantly.

Generate On-Brand Blog Articles Using n8n and OpenAI

This workflow automates the creation of on-brand blog articles by analyzing existing company content using n8n and OpenAI. It extracts article structures and brand voice to produce consistent draft articles, saving significant content creation time.
1:1 Free Strategy Session
Your competitors are already automating. Are you still paying for it manually?

Do you want to adopt AI Automation?

Every hour your team does repetitive work, you're burning real money.
While you wait, faster businesses are cutting costs and moving quicker.
AI and automations aren't the future anymore — they're the present.

Book a live 1-on-1 session where we show you exactly which of your daily tasks can be automated — and what it’s costing you not to.