anaksor-ocr
Sokheng · Kit
Reads Khmer and English text from documents, receipts and photos of signs, using a detector for text lines and a recogniser for each line. Suits developers who…
A small n8n tool workflow that another workflow or an AI agent calls with an email request in plain words. OpenAI works out the recipient, subject and message with a sign-off, and Gmail sends it from your account.
Write and send Gmail from a plain request is an n8n workflow in the Productivity category, listed by Mindket. It is free. This is version 1, last updated on . Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.
Call from another workflow
It starts when another workflow calls it, passing:
One request in, one email sent, and the caller gets Sent
What you need before you start.
Language model
Reads the request and returns the recipient, the subject and the message as JSON.
NeedsOpenAI API key
Sends the message as plain text from your account, with the sender name you set.
NeedsGoogle sign-in for Gmail
Checked by Mindket on 13 Nov 2026
This n8n workflow is a tool for other workflows to call, and it sends real email. Whatever calls it passes one input named query, a request in plain words. OpenAI (gpt-4o) turns it into a recipient, a subject and a message that ends with a sign-off, the Gmail node sends it as plain text, and the last node sets response to Sent. Four nodes in all.
Builders of n8n AI agents who want a send-an-email tool, and teams that send routine messages and would rather say it in a sentence. Skip it if a person should read each email before it goes. Nothing here asks for approval.
Inside a larger workflow, as the target of an Execute Workflow node or as a tool an AI agent can call. Any n8n works, as long as a Gmail account can be authorized in it.
Get it saves a zip with workflow.json and Mindket’s setup notes in your downloads folder. Its author puts setup at about 9 minutes.
workflow.json.OpenAI.Gmail.YOUR_NAME in two places: the Sender Name option of Gmail, and the sign-off line in the system message of OpenAI.The trigger declares one field, query, of type any. The caller passes this and gets one field back:
{
"query": "Email dana@example.com a reminder that the invoice is due on Friday"
}{
"response": "Sent"
}Write the request as you would tell an assistant: who it goes to, what it is about and the tone. OpenAI returns eight fields, and Gmail uses three of them: sendTo, subject and message. The other five (emailType, appendAttribution, ccList, bccList, senderName) are asked for but never reach Gmail, which has its own fixed settings: plain text, no n8n attribution, and the sender name in the node. A CC or BCC in the request is parsed and then dropped, unless you wire those two lists into the Gmail node’s options.
A caller passes the request from the fence above. The model sets sendTo to the address, writes a short subject about the invoice and a polite message that ends with the sign-off, and Gmail sends it from your account. The caller receives Sent.
If you are new. A tool workflow runs only when another workflow calls it, and this one sends for real. Test it with your own address as the recipient before anyone else’s.
For experts. The OpenAI node runs gpt-4o with JSON output on. Its user message is JSON.stringify($json.query), so a string or an object both arrive as text. The system message names the eight fields and tells the model to sign off with a first name and never to leave a placeholder such as a bracketed name. Gmail reads the model’s answer from message.content, and Sent comes back only once Gmail has accepted the message.
The risk is in what the model writes, because nothing checks it before it goes out.
query goes to OpenAIYOUR_NAMEAn n8n workflow, and a tool for other workflows to call. Give it an email request in plain words and it writes the
message and sends it through Gmail.
workflow.json: the workflow as n8n exports it, four nodes. It holds no credential. The author's first name, whichYOUR_NAME.README.md: these notes.workflow.json.OpenAI.Gmail.YOUR_NAME in two places: the Sender Name option of Gmail, and the sign-off lines in the system messageOpenAI.| Direction | Field | What it holds |
|---|---|---|
| In | query | the email request, in plain words (the trigger takes any type) |
| Out | response | Sent, set once Gmail has accepted the message |
OpenAI returns eight fields: sendTo, subject, emailType, message, appendAttribution, bccList, ccList
and senderName. The Gmail node reads only sendTo, subject and message. Its type, attribution and sender name
are fixed in the node, and the two CC and BCC lists are not connected to anything.
OpenAI.Gmail and point them at ccList and bccList from the OpenAI answer.Email Type in Gmail is set to text.response value in Edit Fields.query is sent to OpenAI.README.md 2 KB workflow.json 3 KB
Sokheng · Kit
Reads Khmer and English text from documents, receipts and photos of signs, using a detector for text lines and a recogniser for each line. Suits developers who…
Qwen · Kit
Qwen2.5-7B-Instruct as GGUF files in eight quantization sizes, to chat with locally through llama.cpp. For people who want a capable 7.6B model on their own co…
ACE-Step · Kit
Generates music from text with a 4B diffusion decoder, 50 steps and guidance control, aiming for higher audio quality than the base. For creators with a GPU of…
op7418 · Skill
Skill that makes single-file HTML slide decks, slide illustrations and platform covers in two visual styles, with a presenter mode for rehearsal. For speakers…
zarazhangrui · Skill
Builds HTML presentations from scratch or from a PowerPoint file and shows visual style previews to pick from, for people who want web slides with no CSS or Ja…
iptv-org · Kit
Collects publicly available live TV channels from many countries into playlists that any video player with live streaming can open. Made for viewers and for de…