AutomationFlowsAI & RAG › Tool Draft Email

Tool Draft Email

tool_draft_email. Uses executeWorkflowTrigger, gmail. Event-driven trigger; 6 nodes.

Event trigger★★★★☆ complexity6 nodesExecute Workflow TriggerGmail
AI & RAG Trigger: Event Nodes: 6 Complexity: ★★★★☆ Added:

This workflow follows the Execute Workflow Trigger → Gmail recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "name": "tool_draft_email",
  "nodes": [
    {
      "id": "Start",
      "name": "Start",
      "type": "n8n-nodes-base.executeWorkflowTrigger",
      "typeVersion": 1,
      "position": [
        -620,
        180
      ],
      "parameters": {}
    },
    {
      "id": "Create Draft",
      "name": "Create Draft",
      "type": "n8n-nodes-base.gmail",
      "typeVersion": 2.1,
      "position": [
        -380,
        180
      ],
      "parameters": {
        "resource": "draft",
        "operation": "create",
        "toList": "={{ $json.to }}",
        "subject": "={{ $json.subject }}",
        "message": "={{ $json.body }}"
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      }
    },
    {
      "id": "Wait Approval",
      "name": "Wait Approval",
      "type": "n8n-nodes-base.wait",
      "typeVersion": 1.1,
      "position": [
        -120,
        180
      ],
      "parameters": {
        "resume": "webhook"
      }
    },
    {
      "id": "Approved?",
      "name": "Approved?",
      "type": "n8n-nodes-base.if",
      "typeVersion": 2.2,
      "position": [
        120,
        180
      ],
      "parameters": {
        "conditions": {
          "boolean": [
            {
              "value1": "={{ $json.approved }}",
              "operation": "isTrue"
            }
          ]
        }
      }
    },
    {
      "id": "Send Message",
      "name": "Send Message",
      "type": "n8n-nodes-base.gmail",
      "typeVersion": 2.1,
      "position": [
        340,
        120
      ],
      "parameters": {
        "resource": "message",
        "operation": "send",
        "toList": "={{ $('Start').item.json.to }}",
        "subject": "={{ $('Start').item.json.subject }}",
        "message": "={{ $('Start').item.json.body }}"
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      }
    },
    {
      "id": "Rejected",
      "name": "Rejected",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        340,
        260
      ],
      "parameters": {
        "keepOnlySet": true,
        "values": {
          "string": [
            {
              "name": "status",
              "value": "rejected"
            }
          ]
        }
      }
    }
  ],
  "connections": {
    "Start": {
      "main": [
        [
          {
            "node": "Create Draft",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Draft": {
      "main": [
        [
          {
            "node": "Wait Approval",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait Approval": {
      "main": [
        [
          {
            "node": "Approved?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Approved?": {
      "main": [
        [
          {
            "node": "Send Message",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Rejected",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

tool_draft_email. Uses executeWorkflowTrigger, gmail. Event-driven trigger; 6 nodes.

Source: https://github.com/ogu83/n8n-ai-agent-lab/blob/main/ep2-persistent-agent/workflows/tool_draft_email.json — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

Gmail-Governance. Uses executeWorkflowTrigger, gmail, postgres. Event-driven trigger; 10 nodes.

Execute Workflow Trigger, Gmail, Postgres
AI & RAG

Gmail-Digest. Uses executeWorkflowTrigger, postgres, gmail. Event-driven trigger; 10 nodes.

Execute Workflow Trigger, Postgres, Gmail
AI & RAG

hitl_email_approval. Uses executeWorkflowTrigger, gmail, slack. Event-driven trigger; 7 nodes.

Execute Workflow Trigger, Gmail, Slack
AI & RAG

Typeform IA - YT. Uses typeformTrigger, agent, lmChatOpenAi, toolWorkflow. Event-driven trigger; 75 nodes.

Typeform Trigger, Agent, OpenAI Chat +7
AI & RAG

Who is this for? Agencies, consultants, and service providers who conduct discovery calls and need to quickly turn conversations into professional proposals.

Tool Think, Tool Calculator, Agent Tool +18