🎫 Compose reply draft in Gmail with OpenAI assistant
⚡ 19,283 views · 🎫 Ticket Management & Triage
💡 Pro Tip — YouTube’s API quotas can be a bottleneck when you’re pulling data at scale. ScraperNode is a community node with dedicated scrapers for channels, videos, and comments — no quota limits, just structured data.
Description
This workflow uses OpenAI Assistant to compose draft replies for labeled email messages. It automatically connects the drafts to Gmail threads.
💡 You can add knowledge base to your OpenAI Assistant and make your reply drafts very customized (e.g. compose response with product information in response to inquiry from customer).
🎬 See this workflow in action in my YouTube video about automating Gmail.
How it works?
The workflow is triggered at regular intervals (default: every 1 minute – you can change this value) to check for messages with a specific label (e.g., “AI”).
The content of the retrieved email message is then forwarded to the OpenAI Assistant node, and a reply draft is generated. Next, the response from the Assistant is converted to HTML, and a raw message in RFC standard is composed.
💡 You can learn more about composing drafts with the Gmail API in the official Google documentation.
The raw email message (reply draft) is encoded and attached to the original thread ID. Finally, the trigger label (in this case: “AI”) is removed to prevent the workflow from looping.
Set up steps
- Set credentials for Gmail and OpenAI.
- Add new label in Gmail account for messages that should be handled by the workflow (e.g. name it “AI”).
- Select this label in the first and last Gmail nodes in workflow.
- Create and configure your OpenAI Assistant. Select your assistant in “OpenAI Assistant” node.
- Optionally: change trigger interval (by default interval is 1 minute).
If you like this workflow, please subscribe to my YouTube channel and/or my newsletter.
🔗 Nodes Used
HTTP Request, Gmail, Markdown, Schedule Trigger, OpenAI
📥 Import
Download workflow.json and import into n8n:
Workflow menu → Import from File