AutomationFlowsEmail & Gmail › Manual Image Editor with Google Sheets

Manual Image Editor with Google Sheets

Original n8n title: My Workflow 19

My workflow 19. Uses crypto, editImage, googleSheets, httpRequest. Event-driven trigger; 15 nodes.

Event trigger★★★★☆ complexity15 nodesCryptoEdit ImageGoogle SheetsHTTP RequestGmail
Email & Gmail Trigger: Event Nodes: 15 Complexity: ★★★★☆ Added:

This workflow follows the Editimage → HTTP Request 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
{
  "createdAt": "2025-02-23T09:18:25.861Z",
  "updatedAt": "2025-02-23T09:18:25.861Z",
  "id": "4l7qXTlMH9yXsKOU",
  "name": "My workflow 19",
  "active": false,
  "nodes": [
    {
      "parameters": {},
      "type": "n8n-nodes-base.manualTrigger",
      "typeVersion": 1,
      "position": [
        -1660,
        60
      ],
      "id": "930520ea-3f24-4477-a71b-dd126cb8da50",
      "name": "When clicking \u2018Test workflow\u2019"
    },
    {
      "parameters": {
        "action": "generate",
        "dataPropertyName": "uuid"
      },
      "type": "n8n-nodes-base.crypto",
      "typeVersion": 1,
      "position": [
        -760,
        60
      ],
      "id": "18134b6d-8992-4914-98fb-82e1a8722985",
      "name": "Crypto"
    },
    {
      "parameters": {
        "operation": "text",
        "dataPropertyName": "=data",
        "text": "={{ $('Crypto').item.json.uuid }}",
        "fontSize": 30,
        "fontColor": "#636363",
        "positionX": 20,
        "positionY": 40,
        "options": {
          "fileName": "=certificate_{{ $('Crypto').item.json.name }}.png",
          "font": "/usr/share/fonts/truetype/msttcorefonts/Comic_Sans_MS.ttf",
          "format": "png"
        }
      },
      "type": "n8n-nodes-base.editImage",
      "typeVersion": 1,
      "position": [
        60,
        60
      ],
      "id": "4db36591-2858-4d37-9aea-e375e406937e",
      "name": "Edit Image"
    },
    {
      "parameters": {
        "operation": "text",
        "dataPropertyName": "=data",
        "text": "={{ $('Crypto').item.json.email }}",
        "fontSize": 100,
        "fontColor": "#FFFFFF",
        "positionX": 400,
        "positionY": 780,
        "options": {
          "fileName": "=certificate_{{ $('Crypto').item.json.name }}.png",
          "font": "/usr/share/fonts/truetype/msttcorefonts/Courier_New.ttf",
          "format": "png"
        }
      },
      "type": "n8n-nodes-base.editImage",
      "typeVersion": 1,
      "position": [
        -160,
        60
      ],
      "id": "3ae66dce-207b-4fbe-9c5b-a743838382b4",
      "name": "Edit Image1",
      "onError": "continueRegularOutput"
    },
    {
      "parameters": {
        "documentId": {
          "__rl": true,
          "value": "1mxMNm-EIMtJo9d4F_9EiOG74gqjRBgpcu40mFEI6Zfo",
          "mode": "list",
          "cachedResultName": "(2\uae30) \uc2a4\ud130\ub514 \ucd9c\uc11d\ubd80",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1mxMNm-EIMtJo9d4F_9EiOG74gqjRBgpcu40mFEI6Zfo/edit?usp=drivesdk"
        },
        "sheetName": {
          "__rl": true,
          "value": "gid=0",
          "mode": "list",
          "cachedResultName": "\uc2dc\ud2b81",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1mxMNm-EIMtJo9d4F_9EiOG74gqjRBgpcu40mFEI6Zfo/edit#gid=0"
        },
        "options": {}
      },
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4.5,
      "position": [
        -1400,
        60
      ],
      "id": "bd9ac7f4-b75c-4562-99d3-fe3f0af7aae3",
      "name": "Google Sheets",
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "7bce1e4f-e166-4362-9a09-e16379fbd812",
              "name": "session",
              "value": "2",
              "type": "string"
            },
            {
              "id": "fa247f40-8b85-417b-b448-aa1191f8a10e",
              "name": "name",
              "value": "={{ $json['\uc774\ub984'] }}",
              "type": "string"
            },
            {
              "id": "b9b7fe7f-0ca8-4f5b-a0a6-8b0aa2949166",
              "name": "nickname",
              "value": "={{ $json.email.split('@')[0] }}",
              "type": "string"
            },
            {
              "id": "26dfc7db-b7b6-40b2-a5a1-bfc8e7bcf418",
              "name": "email",
              "value": "={{ $json.email }}",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        -1020,
        60
      ],
      "id": "ec9ed56a-e621-4ac9-a615-f0553e61959e",
      "name": "Edit Fields"
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "strict",
            "version": 2
          },
          "conditions": [
            {
              "id": "8b7133f8-0577-4111-aba3-17fd51c4fc75",
              "leftValue": "={{ $json['\ucd9c\uc11d\uc218'] }}",
              "rightValue": 4,
              "operator": {
                "type": "number",
                "operation": "equals"
              }
            }
          ],
          "combinator": "and"
        },
        "options": {}
      },
      "type": "n8n-nodes-base.filter",
      "typeVersion": 2.2,
      "position": [
        -1200,
        60
      ],
      "id": "85fd4457-a55c-4592-ac0f-9f9f3ff5a224",
      "name": "Filter"
    },
    {
      "parameters": {
        "content": "## \ud15c\ud50c\ub9bf \uc774\ubbf8\uc9c0 \ubd88\ub7ec\uc624\uae30\n![]()",
        "height": 240,
        "width": 260
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -540,
        0
      ],
      "id": "5cb0f098-8ede-44f1-8070-54b2cb3c82c3",
      "name": "Sticky Note"
    },
    {
      "parameters": {
        "url": "https://raw.githubusercontent.com/2innnnn0/assets/refs/heads/master/n8n_2%E1%84%80%E1%85%B5_%E1%84%89%E1%85%B3%E1%84%90%E1%85%A5%E1%84%83%E1%85%B5_%E1%84%80%E1%85%AD%E1%84%8B%E1%85%B2%E1%86%A8%E1%84%89%E1%85%AE%E1%84%85%E1%85%AD%E1%84%8C%E1%85%B3%E1%86%BC_template.png",
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        -460,
        60
      ],
      "id": "f1becef0-3fad-4c49-9611-a3781068206d",
      "name": "HTTP Request1"
    },
    {
      "parameters": {
        "sendTo": "={{ $json.email }}",
        "subject": "=n8n 2\uae30 \uc2a4\ud130\ub514 \uc218\ub8cc\uc99d - {{ $('Crypto').item.json.name }}\ub2d8",
        "emailType": "text",
        "message": "=\"{{ $('Crypto').item.json.name }}\"\ub2d8\n\n\uc704\uc758 \uad50\uc721\uacfc\uc815\uc744 \uc131\uacf5\uc801\uc73c\ub85c \uc218\ub8cc\ud558\uc600\uc74c\uc744 \uc778\uc815\ud558\uc5ec \uc774 \uc778\uc99d\uc11c\ub97c \uc218\uc5ec\ud569\ub2c8\ub2e4.\n\uc218\ub8cc\uc77c\uc790 : 2025.02.22\n\n\ub370\uc774\ud130\ud31d\ucf58 \ub4dc\ub9bc",
        "options": {
          "attachmentsUi": {
            "attachmentsBinary": [
              {
                "property": "=data"
              }
            ]
          }
        }
      },
      "type": "n8n-nodes-base.gmail",
      "typeVersion": 2.1,
      "position": [
        320,
        60
      ],
      "id": "e0e0776f-cc19-4d23-b9f5-ecf54e00e96f",
      "name": "Gmail",
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "content": "## \b\uc774\ubbf8\uc9c0\uc5d0 \ud14d\uc2a4\ud2b8 \ub123\uae30",
        "height": 240,
        "width": 460
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -240,
        0
      ],
      "id": "85e46be4-cd76-4c18-aa58-b472f5cb54b9",
      "name": "Sticky Note3"
    },
    {
      "parameters": {
        "content": "\b# Block \ud3ec\uc778\ud2b8\n- \ud55c\uae00 \uc778\ucf54\ub529\uc774 \ub418\uc9c0 \uc54a\ub294\ub2e4.\n- \uac00\uc6b4\ub370 \uc815\ub82c \uae30\ub2a5\uc774 \uc5c6\ub2e4.\n- \ucee4\uc2a4\ud140 \ud3f0\ud2b8\uac00 \uc548\ub41c\ub2e4.",
        "height": 120,
        "width": 460,
        "color": 3
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -240,
        -140
      ],
      "id": "40cb0313-92e8-44ef-827b-b6b798290a25",
      "name": "Sticky Note4"
    },
    {
      "parameters": {
        "content": "## \b\uc774\uba54\uc77c \ubc1c\uc1a1",
        "height": 240
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        260,
        0
      ],
      "id": "b6351ee1-164e-4fc7-a538-7086d4270372",
      "name": "Sticky Note5"
    },
    {
      "parameters": {
        "content": "## UUID \ubc1c\uae09(\uace0\uc720\ud0a4)",
        "height": 240
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -820,
        0
      ],
      "id": "8d3242f4-f82a-4420-89ab-9c5c8c08274b",
      "name": "Sticky Note6"
    },
    {
      "parameters": {
        "content": "## \b\uc2a4\ud130\ub514 \uc218\ub8cc\uc790 \ucd94\ucd9c (4\ud68c \ubaa8\ub450 \ucc38\uc11d\uc790 \ud544\ud130)",
        "height": 240,
        "width": 520
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -1420,
        0
      ],
      "id": "920e4daf-0dc0-47d6-8429-eddf18ff850c",
      "name": "Sticky Note7"
    }
  ],
  "connections": {
    "When clicking \u2018Test workflow\u2019": {
      "main": [
        [
          {
            "node": "Google Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Crypto": {
      "main": [
        [
          {
            "node": "HTTP Request1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Image": {
      "main": [
        [
          {
            "node": "Gmail",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets": {
      "main": [
        [
          {
            "node": "Filter",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Fields": {
      "main": [
        [
          {
            "node": "Crypto",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter": {
      "main": [
        [
          {
            "node": "Edit Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Image1": {
      "main": [
        [
          {
            "node": "Edit Image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP Request1": {
      "main": [
        [
          {
            "node": "Edit Image1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1"
  },
  "staticData": null,
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "versionId": "53784179-1241-458c-9a61-1f9bba572498",
  "triggerCount": 0,
  "tags": []
}

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

My workflow 19. Uses crypto, editImage, googleSheets, httpRequest. Event-driven trigger; 15 nodes.

Source: https://github.com/leoskyearth/repository_n8n/blob/146446f72d7dfd5b1fee14a51f6f5dd7dba533c3/workflows/4l7qXTlMH9yXsKOU.json — original creator credit. Request a take-down →

More Email & Gmail workflows → · Browse all categories →

Related workflows

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

Email & Gmail

This n8n workflow automates the generation and delivery of student completion certificates.

N8N Training Customer Datastore, Edit Image, Crypto +2
Email & Gmail

Splitout Code. Uses manualTrigger, httpRequest, stickyNote, splitOut. Event-driven trigger; 46 nodes.

HTTP Request, Execute Workflow Trigger, Gmail +1
Email & Gmail

Automate CSV imports into HubSpot without the mess. Powered by n8n. Supercharged by Pollup AI.

HTTP Request, Execute Workflow Trigger, Gmail +1
Email & Gmail

AICARE Email Blast System. Uses googleDrive, httpRequest, googleSheets, gmail. Event-driven trigger; 39 nodes.

Google Drive, HTTP Request, Google Sheets +2
Email & Gmail

Automatically processes new orders added to Google Sheets. Small orders are approved instantly; large orders trigger an HTML email with one-click Approve / Reject links — each handled by an independen

Google Sheets Trigger, Google Sheets, Gmail +1