Send Gmail with Inline Embedded Image via API
Workaround to embed images inline in Gmail emails using HTTP node and Gmail API, as built-in node lacks support. Downloads image, base64 encodes, and sends multipart MIME email.
This n8n workflow enables sending Gmail messages with inline embedded images, overcoming the limitation of the built-in Gmail node which doesn't support image embedding in the email body. It uses an HTTP Request node to interact directly with the Gmail API, constructing a raw multipart/related MIME email that includes the HTML body and a base64-encoded image attached inline via Content-ID.
The process starts with a manual trigger, followed by setting message parameters (from, to, subject, body HTML). An image is fetched (e.g., from URL or previous node), converted to base64, and packaged into the MIME structure with boundaries. The composed raw email is then POSTed to the Gmail API endpoint 'https://www.googleapis.com/gmail/v1/users/me/messages/send'.
Benefits include creating rich, professional emails with embedded charts, logos, or screenshots without external links, improving deliverability and user experience. It's ideal for automated reports, notifications, marketing emails, or dashboards shared via email. Requires Gmail API credentials with send permissions, saving hours of manual coding or third-party tools.
Use cases: Daily sales reports with graphs, customer invoices with logos, automated alerts with screenshots, or personalized newsletters with product images. Highly customizable for dynamic content from other n8n nodes like charts or AI-generated visuals.
New buyers can create an account from the cart to unlock a controlled $10 first-purchase credit on eligible orders of $25+.
Related bundle
YouTube Creator Pipeline
8 hand-picked workflows for $39.00.
That is $4.88 each, vs $12.99 for this one alone.
View bundleSecure checkout powered by Stripe
Support
How to import this workflow into n8n
- 1Purchase or download the workflow to get the n8n workflow JSON file.
- 2In your n8n instance, open Workflows and choose "Import from File" (or paste the JSON with Ctrl+V on the canvas).
- 3Open each node marked with a credential warning and connect your own accounts and API keys.
- 4Run the workflow once manually to verify the data flow, then toggle it to Active.
Related Built-in Apps workflows
- JS Tokens JavaScript Tokenizer Workflow$4.99
- Google Maps Lead Scraper with AI Outreach Messages$24.99
- Remote Job Updates Pipeline: RemoteOK to Airtable & Telegram$14.99
- Affinity Tool MCP Server: All 16 Operations for AI Agents$24.99
- Real-time Kubernetes CPU Spike Alerts: Prometheus to Slack$14.99
- Generate and Publish SEO-Optimized Blog Posts to WordPress$24.99
More from Jordi Faber
Need this deployed? We'll set it up for you.
Our automation experts deploy this workflow in your stack, connect your accounts, and verify it works — or build a custom solution from scratch.