{
  "workflow": {
    "id": 8956,
    "name": "Gmail to Zendesk ticket automation with Google Sheets logging",
    "views": 90,
    "recentViews": 0,
    "totalViews": 90,
    "createdAt": "2025-09-26T11:46:01.913Z",
    "description": "## Description\n\nTurn incoming Gmail messages into Zendesk tickets and keep a synchronized log in Google Sheets. Uses Gmail as the trigger, creates Zendesk tickets, and appends or updates a central sheet for tracking. Gain a clean, auditable pipeline from inbox to support queue. ✨\n\n## What This Template Does\n- Fetches new emails via Gmail Trigger. ✉️\n- Normalizes Gmail payload for consistent fields. 🧹\n- Creates a Zendesk ticket from the email content. 🎫\n- Formats data for Sheets and appends or updates a row. 📊\n- Executes helper sub-workflows and writes logs for traceability. 🔁🧾\n\n## Key Benefits\n- Converts emails to actionable support tickets automatically. ⚡\n- Maintains a single source of truth in Google Sheets. 📒\n- Reduces manual triage and data entry. 🕒\n- Improves accountability with structured logs. ✅\n\n## Features\n- Gmail Trigger for real-time intake. ⏱️\n- Normalize Gmail Data for consistent fields. 🧩\n- Create Zendesk Ticket (create: ticket). 🎟️\n- Format Sheet Data for clean columns. 🧱\n- Log to Google Sheets with appendOrUpdate. 🔄\n- Execute workflow (sub-workflow) steps for modularity. 🧩\n\n## Requirements\n- n8n instance (cloud or self-hosted). 🛠️\n- Gmail credentials configured in n8n (with read access to the monitored inbox). ✉️\n- Zendesk credentials (API token or OAuth) with permission to create tickets. 🔐\n- Google Sheets credentials with access to the target spreadsheet for append/update. 📊\n- Access to any sub-workflows referenced by the Execute workflow nodes. 🔁\n\n## Target Audience\n- IT support and helpdesk teams managing email-based requests. 🖥️\n- Ops teams needing auditable intake logs. 🧾\n- Agencies and service providers converting client emails to tickets. 🤝\n- Small teams standardizing email-to-ticket flows. 🧑‍💼\n\n## Step-by-Step Setup Instructions \n- Connect Gmail, Zendesk, and Google Sheets in n8n Credentials. 🔑\n- Set the Gmail Trigger to watch the desired label/inbox. 📨\n- Map Zendesk fields (description) from normalized Gmail data. 🧭\n- Point the Google Sheets node to your spreadsheet and confirm appendOrUpdate mode. 📄\n- Assign credentials to all nodes, including any Execute workflow steps. 🔁\n- Run once to test end-to-end; then activate the workflow. ✅",
    "workflow": {
      "id": "JRe4TvueoMMH4FVd",
      "meta": {
        "instanceId": "8443f10082278c46aa5cf3acf8ff0f70061a2c58bce76efac814b16290845177",
        "templateCredsSetupCompleted": true
      },
      "name": "Create Zendesk Tickets from Gmail and Log to Google Sheets with Gmail, Zendesk, and Google Sheets",
      "tags": [],
      "nodes": [
        {
          "id": "b03d5eff-2f3b-4e15-a51e-23eb72c9e75c",
          "name": "Gmail Trigger",
          "type": "n8n-nodes-base.gmailTrigger",
          "position": [
            0,
            -192
          ],
          "parameters": {
            "simple": false,
            "filters": {
              "labelIds": [
                "Label_7215267856143431312"
              ]
            },
            "options": {},
            "pollTimes": {
              "item": [
                {
                  "mode": "everyMinute"
                }
              ]
            }
          },
          "credentials": {
            "gmailOAuth2": {
              "id": "credential-id",
              "name": "gmailOAuth2 Credential"
            }
          },
          "typeVersion": 1.2
        },
        {
          "id": "85a31be9-8035-4b6c-b929-ef4f67888658",
          "name": "Create Zendesk Ticket",
          "type": "n8n-nodes-base.zendesk",
          "position": [
            432,
            -192
          ],
          "parameters": {
            "description": "={{ $json.description }}",
            "additionalFields": {
              "tags": "={{ $json.priority }}",
              "subject": "={{ $json.subject }}"
            }
          },
          "credentials": {
            "zendeskApi": {
              "id": "credential-id",
              "name": "zendeskApi Credential"
            }
          },
          "typeVersion": 1
        },
        {
          "id": "581ccd96-d11d-436d-86d4-a4162da65f32",
          "name": "Format Sheet Data",
          "type": "n8n-nodes-base.code",
          "position": [
            656,
            -192
          ],
          "parameters": {
            "jsCode": "// Prepare data for Google Sheets logging\nconst inputData = $input.first().json;\nconst ticketData = $node[\"Create Zendesk Ticket\"].json;\n\n// Extract Zendesk subdomain from the API URL or construct the agent URL\nlet agentTicketUrl = '';\nif (ticketData.url) {\n  // Extract subdomain from API URL (e.g., https://softwarecompany-66332.zendesk.com/api/v2/tickets/123.json)\n  const urlMatch = ticketData.url.match(/https:\\/\\/(.*?)\\.zendesk\\.com/);\n  if (urlMatch) {\n    const subdomain = urlMatch[1];\n    agentTicketUrl = `https://${subdomain}.zendesk.com/agent/tickets/${ticketData.id}`;\n  } else {\n    // Fallback: construct from ticket ID (replace 'your-subdomain' with actual subdomain)\n    agentTicketUrl = `https://softwarecompany-66332.zendesk.com/agent/tickets/${ticketData.id}`;\n  }\n} else {\n  // Fallback if no URL is provided\n  agentTicketUrl = `https://softwarecompany-66332.zendesk.com/agent/tickets/${ticketData.id}`;\n}\n\nreturn {\n  ticket_id: ticketData.id,\n  ticket_url: agentTicketUrl,\n  api_url: ticketData.url, // Keep original API URL for reference\n  subject: ticketData.subject,\n  requester_name: inputData.requester_name,\n  requester_email: inputData.requester_email,\n  source_channel: inputData.source,\n  original_id: inputData.original_id,\n  priority: ticketData.priority,\n  status: ticketData.status,\n  created_timestamp: new Date().toISOString(),\n  zendesk_created_at: ticketData.created_at,\n  description_preview: inputData.description.substring(0, 100) + (inputData.description.length > 100 ? '...' : ''),\n  tags: ticketData.tags ? ticketData.tags.join(', ') : ''\n};"
          },
          "typeVersion": 2
        },
        {
          "id": "076cea59-4b20-40b8-ab61-61c23c0e5b42",
          "name": "Log to Google Sheets",
          "type": "n8n-nodes-base.googleSheets",
          "position": [
            880,
            -192
          ],
          "parameters": {
            "columns": {
              "value": {
                "Tags": "={{ $json.tags }}",
                "Status": "={{ $json.status }}",
                "Subject": "={{ $json.subject }}",
                "Priority": "={{ $json.priority }}",
                "Ticket ID": "={{ $json.ticket_id }}",
                "Ticket URL": "={{ $json.ticket_url }}",
                "Created Timestamp": "={{ $json.created_timestamp }}",
                "Zendesk Created At": "={{ $json.zendesk_created_at }}",
                "Description Preview": "={{ $json.description_preview }}"
              },
              "schema": [
                {
                  "id": "Ticket ID",
                  "type": "string",
                  "display": true,
                  "removed": false,
                  "required": false,
                  "displayName": "Ticket ID",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "Ticket URL",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "Ticket URL",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "Subject",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "Subject",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "Requester Name",
                  "type": "string",
                  "display": true,
                  "removed": true,
                  "required": false,
                  "displayName": "Requester Name",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "Requester Email",
                  "type": "string",
                  "display": true,
                  "removed": true,
                  "required": false,
                  "displayName": "Requester Email",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "Source Channel",
                  "type": "string",
                  "display": true,
                  "removed": true,
                  "required": false,
                  "displayName": "Source Channel",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "Original ID",
                  "type": "string",
                  "display": true,
                  "removed": true,
                  "required": false,
                  "displayName": "Original ID",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "Priority",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "Priority",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "Status",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "Status",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "Created Timestamp",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "Created Timestamp",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "Zendesk Created At",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "Zendesk Created At",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "Description Preview",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "Description Preview",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "Tags",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "Tags",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                }
              ],
              "mappingMode": "defineBelow",
              "matchingColumns": [
                "Ticket ID"
              ],
              "attemptToConvertTypes": false,
              "convertFieldsToString": false
            },
            "options": {},
            "operation": "appendOrUpdate",
            "sheetName": {
              "__rl": true,
              "mode": "list",
              "value": "gid=0",
              "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1pz1aP0OIULFoEJCI6VWged3jq1W7870btV2QOC4vn1o/edit#gid=0",
              "cachedResultName": "Sheet1"
            },
            "documentId": {
              "__rl": true,
              "mode": "list",
              "value": "1pz1aP0OIULFoEJCI6VWged3jq1W7870btV2QOC4vn1o",
              "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1pz1aP0OIULFoEJCI6VWged3jq1W7870btV2QOC4vn1o/edit?usp=drivesdk",
              "cachedResultName": "zendesk tickets"
            }
          },
          "credentials": {
            "googleSheetsOAuth2Api": {
              "id": "credential-id",
              "name": "googleSheetsOAuth2Api Credential"
            }
          },
          "typeVersion": 4
        },
        {
          "id": "033dae10-a4ed-435c-9fcf-67c911603189",
          "name": "Normalize Gmail Data",
          "type": "n8n-nodes-base.code",
          "position": [
            208,
            -192
          ],
          "parameters": {
            "jsCode": "// Normalize data from Gmail\nif ($input.first().json.source === undefined) {\n  const gmailData = $input.first().json;\n  \n  // Extract email and name from the 'from' object structure\n  let requesterEmail = '';\n  let requesterName = '';\n  \n  if (gmailData.from && gmailData.from.value && gmailData.from.value[0]) {\n    requesterEmail = gmailData.from.value[0].address || '';\n    requesterName = gmailData.from.value[0].name || gmailData.from.value[0].address || '';\n  }\n  \n  // Use plain text first, fallback to textAsHtml if text not available, avoid html\n  let description = '';\n  if (gmailData.text) {\n    description = gmailData.text;\n  } else if (gmailData.textAsHtml) {\n    // Strip HTML tags from textAsHtml to get plain text\n    description = gmailData.textAsHtml.replace(/<[^>]*>/g, '').replace(/&apos;/g, \"'\").replace(/&quot;/g, '\"').replace(/&lt;/g, '<').replace(/&gt;/g, '>').replace(/&amp;/g, '&');\n  } else {\n    description = 'No description provided';\n  }\n  \n  // Check if it's urgent based on subject or content\n  const isUrgent = (gmailData.subject && gmailData.subject.toLowerCase().includes('urgent')) || \n                   (description && description.toLowerCase().includes('urgent'));\n  \n  return {\n    source: 'gmail',\n    subject: gmailData.subject || 'No Subject',\n    description: description,\n    requester_email: requesterEmail,\n    requester_name: requesterName,\n    priority: isUrgent ? 'urgent' : 'normal',\n    timestamp: new Date().toISOString(),\n    original_id: gmailData.id,\n    raw_data: gmailData\n  };\n}\n\nreturn $input.first().json;"
          },
          "typeVersion": 2
        },
        {
          "id": "4543e98f-003c-43ab-8638-24c5e7e4f3e8",
          "name": "Sticky Note",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -352,
            -240
          ],
          "parameters": {
            "width": 272,
            "height": 208,
            "content": "## Gmail Trigger\nListens for new emails from the configured Gmail account/label and emits each message once with headers, subject, body (plain/HTML), sender, recipients, timestamp, and attachment metadata for downstream processing."
          },
          "typeVersion": 1
        },
        {
          "id": "895dac87-ef0d-4285-9dcb-5573ad09a273",
          "name": "Sticky Note1",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            96,
            -480
          ],
          "parameters": {
            "width": 272,
            "height": 208,
            "content": "## Normalize Gmail Data\nTransforms the raw Gmail payload into a consistent schema (e.g., requesterEmail, subject, bodyText/bodyHtml, threadId, messageId, labels, attachments[]) to ensure reliable field mapping across subsequent nodes."
          },
          "typeVersion": 1
        },
        {
          "id": "6c123420-9b3e-403e-81cd-1f731406156e",
          "name": "Sticky Note2",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            352,
            -16
          ],
          "parameters": {
            "width": 272,
            "height": 224,
            "content": "## Create Zendesk Ticket (create: ticket)\nCreates a Zendesk ticket using normalized fields: requester (email), subject, description (plain text or HTML), optional priority/tags/group/assignee. Outputs ticketId, ticketUrl, status, and requesterId for logging."
          },
          "typeVersion": 1
        },
        {
          "id": "c9671dc8-391d-4579-a6b9-853946c169b5",
          "name": "Sticky Note3",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            560,
            -496
          ],
          "parameters": {
            "width": 272,
            "height": 224,
            "content": "## Format Sheet Data\nBuilds a tidy row object combining Gmail and Zendesk outputs (e.g., timestamp, requesterEmail, subject, ticketId, ticketUrl, status, threadId, labels, workflowRunId). Ensures column order and default values match the Sheet schema."
          },
          "typeVersion": 1
        },
        {
          "id": "dff72fb5-c0cb-478e-b9a9-5bde17971ecf",
          "name": "Sticky Note4",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            800,
            -16
          ],
          "parameters": {
            "width": 272,
            "height": 224,
            "content": "## Log to Google Sheets \nWrites the row to the target spreadsheet—appending new records or updating existing ones using a unique key (e.g., messageId or ticketId). Confirms success and surfaces any write conflicts or missing columns."
          },
          "typeVersion": 1
        }
      ],
      "active": false,
      "pinData": {},
      "settings": {
        "executionOrder": "v1"
      },
      "versionId": "4c9e7438-d87c-45ec-b738-a12e69424dc7",
      "connections": {
        "Gmail Trigger": {
          "main": [
            [
              {
                "node": "Normalize Gmail Data",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Format Sheet Data": {
          "main": [
            [
              {
                "node": "Log to Google Sheets",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Normalize Gmail Data": {
          "main": [
            [
              {
                "node": "Create Zendesk Ticket",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Create Zendesk Ticket": {
          "main": [
            [
              {
                "node": "Format Sheet Data",
                "type": "main",
                "index": 0
              }
            ]
          ]
        }
      }
    },
    "lastUpdatedBy": 1,
    "workflowInfo": {
      "nodeCount": 10,
      "nodeTypes": {
        "n8n-nodes-base.code": {
          "count": 2
        },
        "n8n-nodes-base.zendesk": {
          "count": 1
        },
        "n8n-nodes-base.stickyNote": {
          "count": 5
        },
        "n8n-nodes-base.gmailTrigger": {
          "count": 1
        },
        "n8n-nodes-base.googleSheets": {
          "count": 1
        }
      }
    },
    "status": "published",
    "user": {
      "name": "Rahul Joshi",
      "username": "rahul08",
      "bio": "Rahul Joshi is a seasoned technology leader specializing in the n8n automation tool and AI-driven workflow automation. With deep expertise in building open-source workflow automation and self-hosted automation platforms, he helps organizations eliminate manual processes through intelligent n8n ai agent automation solutions.\n\n",
      "verified": true,
      "links": [
        "https://www.linkedin.com/in/callrahul/"
      ],
      "avatar": "https://gravatar.com/avatar/b6cf57822463143589b36ada06fbf6cb1509223a740fae3160b28f1ce41ccc12?r=pg&d=retro&size=200"
    },
    "nodes": [
      {
        "id": 18,
        "icon": "file:googleSheets.svg",
        "name": "n8n-nodes-base.googleSheets",
        "codex": {
          "data": {
            "alias": [
              "CSV",
              "Sheet",
              "Spreadsheet",
              "GS"
            ],
            "resources": {
              "generic": [
                {
                  "url": "https://n8n.io/blog/love-at-first-sight-ricardos-n8n-journey/",
                  "icon": "❤️",
                  "label": "Love at first sight: Ricardo’s n8n journey"
                },
                {
                  "url": "https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/",
                  "icon": "🧬",
                  "label": "Why business process automation with n8n can change your daily life"
                },
                {
                  "url": "https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/",
                  "icon": "🧾",
                  "label": "Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"
                },
                {
                  "url": "https://n8n.io/blog/supercharging-your-conference-registration-process-with-n8n/",
                  "icon": "🎫",
                  "label": "Supercharging your conference registration process with n8n"
                },
                {
                  "url": "https://n8n.io/blog/creating-triggers-for-n8n-workflows-using-polling/",
                  "icon": "⏲",
                  "label": "Creating triggers for n8n workflows using polling"
                },
                {
                  "url": "https://n8n.io/blog/no-code-ecommerce-workflow-automations/",
                  "icon": "store",
                  "label": "6 e-commerce workflows to power up your Shopify s"
                },
                {
                  "url": "https://n8n.io/blog/migrating-community-metrics-to-orbit-using-n8n/",
                  "icon": "📈",
                  "label": "Migrating Community Metrics to Orbit using n8n"
                },
                {
                  "url": "https://n8n.io/blog/automate-google-apps-for-productivity/",
                  "icon": "💡",
                  "label": "15 Google apps you can combine and automate to increase productivity"
                },
                {
                  "url": "https://n8n.io/blog/your-business-doesnt-need-you-to-operate/",
                  "icon": " 🖥️",
                  "label": "Hey founders! Your business doesn't need you to operate"
                },
                {
                  "url": "https://n8n.io/blog/how-honest-burgers-use-automation-to-save-100k-per-year/",
                  "icon": "🍔",
                  "label": "How Honest Burgers Use Automation to Save $100k per year"
                },
                {
                  "url": "https://n8n.io/blog/how-a-digital-strategist-uses-n8n-for-online-marketing/",
                  "icon": "💻",
                  "label": "How a digital strategist uses n8n for online marketing"
                },
                {
                  "url": "https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/",
                  "icon": "🧠",
                  "label": "Why this Product Manager loves workflow automation with n8n"
                },
                {
                  "url": "https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/",
                  "icon": "🙌",
                  "label": "Sending Automated Congratulations with Google Sheets, Twilio, and n8n "
                },
                {
                  "url": "https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/",
                  "icon": "📈",
                  "label": "How a Membership Development Manager automates his work and investments"
                },
                {
                  "url": "https://n8n.io/blog/aws-workflow-automation/",
                  "label": "7 no-code workflow automations for Amazon Web Services"
                }
              ],
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/"
                }
              ],
              "credentialDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"
                }
              ]
            },
            "categories": [
              "Data & Storage",
              "Productivity"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0"
          }
        },
        "group": "[\"input\",\"output\"]",
        "defaults": {
          "name": "Google Sheets"
        },
        "iconData": {
          "type": "file",
          "fileBuffer": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2MCIgaGVpZ2h0PSI2MCI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGZpbGw9IiMyOEI0NDYiIGQ9Ik0zNS42OSAxIDUyIDE3LjIyNXYzOS4wODdhMy42NyAzLjY3IDAgMCAxLTEuMDg0IDIuNjFBMy43IDMuNyAwIDAgMSA0OC4yOTMgNjBIMTIuNzA3YTMuNyAzLjcgMCAwIDEtMi42MjMtMS4wNzhBMy42NyAzLjY3IDAgMCAxIDkgNTYuMzEyVjQuNjg4YTMuNjcgMy42NyAwIDAgMSAxLjA4NC0yLjYxQTMuNyAzLjcgMCAwIDEgMTIuNzA3IDF6Ii8+PHBhdGggZmlsbD0iIzZBQ0U3QyIgZD0iTTM1LjY5IDEgNTIgMTcuMjI1SDM5LjM5N2MtMi4wNTQgMC0zLjcwNy0xLjgyOS0zLjcwNy0zLjg3MnoiLz48cGF0aCBmaWxsPSIjMjE5QjM4IiBkPSJNMzkuMjExIDE3LjIyNSA1MiAyMi40OHYtNS4yNTV6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTIwLjEyIDMxLjk3NWMwLS44MTcuNjYyLTEuNDc1IDEuNDgzLTEuNDc1aDE3Ljc5NGMuODIxIDAgMS40ODIuNjU4IDEuNDgyIDEuNDc1djE1LjQ4N2MwIC44MTgtLjY2MSAxLjQ3NS0xLjQ4MiAxLjQ3NUgyMS42MDNhMS40NzYgMS40NzYgMCAwIDEtMS40ODItMS40NzRWMzEuOTc0em0yLjIyNSAxLjQ3NWg2LjY3MnYyLjIxMmgtNi42NzJ6bTAgNS4xNjJoNi42NzJ2Mi4yMTNoLTYuNjcyem0wIDUuMTYzaDYuNjcydjIuMjEyaC02LjY3MnptOS42MzgtMTAuMzI1aDYuNjcydjIuMjEyaC02LjY3MnptMCA1LjE2Mmg2LjY3MnYyLjIxM2gtNi42NzJ6bTAgNS4xNjNoNi42NzJ2Mi4yMTJoLTYuNjcyeiIvPjxwYXRoIGZpbGw9IiMyOEI0NDYiIGQ9Ik0zNC42OSAwIDUxIDE2LjIyNXYzOS4wODdhMy42NyAzLjY3IDAgMCAxLTEuMDg0IDIuNjFBMy43IDMuNyAwIDAgMSA0Ny4yOTMgNTlIMTEuNzA3YTMuNyAzLjcgMCAwIDEtMi42MjMtMS4wNzhBMy42NyAzLjY3IDAgMCAxIDggNTUuMzEyVjMuNjg4YTMuNjcgMy42NyAwIDAgMSAxLjA4NC0yLjYxQTMuNyAzLjcgMCAwIDEgMTEuNzA3IDB6Ii8+PHBhdGggZmlsbD0iIzZBQ0U3QyIgZD0iTTM0LjY5IDAgNTEgMTYuMjI1SDM4LjM5N2MtMi4wNTQgMC0zLjcwNy0xLjgyOS0zLjcwNy0zLjg3MnoiLz48cGF0aCBmaWxsPSIjMjE5QjM4IiBkPSJNMzguMjExIDE2LjIyNSA1MSAyMS40OHYtNS4yNTV6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTE5LjEyIDMwLjk3NWMwLS44MTcuNjYyLTEuNDc1IDEuNDgzLTEuNDc1aDE3Ljc5NGMuODIxIDAgMS40ODIuNjU4IDEuNDgyIDEuNDc1djE1LjQ4N2MwIC44MTgtLjY2MSAxLjQ3NS0xLjQ4MiAxLjQ3NUgyMC42MDNhMS40NzYgMS40NzYgMCAwIDEtMS40ODItMS40NzRWMzAuOTc0em0yLjIyNSAxLjQ3NWg2LjY3MnYyLjIxMmgtNi42NzJ6bTAgNS4xNjJoNi42NzJ2Mi4yMTNoLTYuNjcyem0wIDUuMTYzaDYuNjcydjIuMjEyaC02LjY3MnptOS42MzgtMTAuMzI1aDYuNjcydjIuMjEyaC02LjY3MnptMCA1LjE2Mmg2LjY3MnYyLjIxM2gtNi42NzJ6bTAgNS4xNjNoNi42NzJ2Mi4yMTJoLTYuNjcyeiIvPjwvZz48L3N2Zz4="
        },
        "displayName": "Google Sheets",
        "typeVersion": 5,
        "nodeCategories": [
          {
            "id": 3,
            "name": "Data & Storage"
          },
          {
            "id": 4,
            "name": "Productivity"
          }
        ]
      },
      {
        "id": 123,
        "icon": "file:zendesk.svg",
        "name": "n8n-nodes-base.zendesk",
        "codex": {
          "data": {
            "resources": {
              "generic": [
                {
                  "url": "https://n8n.io/blog/your-business-doesnt-need-you-to-operate/",
                  "icon": " 🖥️",
                  "label": "Hey founders! Your business doesn't need you to operate"
                }
              ],
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.zendesk/"
                }
              ],
              "credentialDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/credentials/zendesk/"
                }
              ]
            },
            "categories": [
              "Communication"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0"
          }
        },
        "group": "[\"output\"]",
        "defaults": {
          "name": "Zendesk"
        },
        "iconData": {
          "type": "file",
          "fileBuffer": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTAgMjRDMCAxMC43NDUgMTAuNzQ1IDAgMjQgMHMyNCAxMC43NDUgMjQgMjQtMTAuNzQ1IDI0LTI0IDI0UzAgMzcuMjU1IDAgMjQiLz48cGF0aCBmaWxsPSIjMDMzNjNEIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNS40NDggMTguNjUzYzQuMDUgMCA3LjMzMi0zLjM3NSA3LjMzMi03LjUzOEg4LjExNmMwIDQuMTYzIDMuMjgzIDcuNTM4IDcuMzMyIDcuNTM4bTcuMzMyIDE3LjE5OVYxNy42NDhMOC4xMTYgMzUuODUyem0yLjQxNSAwYzAtNC4xNjQgMy4yODMtNy41NCA3LjMzMi03LjU0IDQuMDUgMCA3LjMzMiAzLjM3NiA3LjMzMiA3LjU0em0wLTI0LjczN3YxOC4yMDNMMzkuODYgMTEuMTE1eiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PC9zdmc+"
        },
        "displayName": "Zendesk",
        "typeVersion": 1,
        "nodeCategories": [
          {
            "id": 6,
            "name": "Communication"
          }
        ]
      },
      {
        "id": 565,
        "icon": "fa:sticky-note",
        "name": "n8n-nodes-base.stickyNote",
        "codex": {
          "data": {
            "alias": [
              "Comments",
              "Notes",
              "Sticky"
            ],
            "categories": [
              "Core Nodes"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0",
            "subcategories": {
              "Core Nodes": [
                "Helpers"
              ]
            }
          }
        },
        "group": "[\"input\"]",
        "defaults": {
          "name": "Sticky Note",
          "color": "#FFD233"
        },
        "iconData": {
          "icon": "sticky-note",
          "type": "icon"
        },
        "displayName": "Sticky Note",
        "typeVersion": 1,
        "nodeCategories": [
          {
            "id": 9,
            "name": "Core Nodes"
          }
        ]
      },
      {
        "id": 824,
        "icon": "file:gmail.svg",
        "name": "n8n-nodes-base.gmailTrigger",
        "codex": {
          "data": {
            "resources": {
              "generic": [
                {
                  "url": "https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/",
                  "icon": "🧬",
                  "label": "Why business process automation with n8n can change your daily life"
                },
                {
                  "url": "https://n8n.io/blog/supercharging-your-conference-registration-process-with-n8n/",
                  "icon": "🎫",
                  "label": "Supercharging your conference registration process with n8n"
                },
                {
                  "url": "https://n8n.io/blog/no-code-ecommerce-workflow-automations/",
                  "icon": "store",
                  "label": "6 e-commerce workflows to power up your Shopify s"
                },
                {
                  "url": "https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/",
                  "icon": "👥",
                  "label": "How to get started with CRM automation (with 3 no-code workflow ideas"
                },
                {
                  "url": "https://n8n.io/blog/automate-google-apps-for-productivity/",
                  "icon": "💡",
                  "label": "15 Google apps you can combine and automate to increase productivity"
                },
                {
                  "url": "https://n8n.io/blog/your-business-doesnt-need-you-to-operate/",
                  "icon": " 🖥️",
                  "label": "Hey founders! Your business doesn't need you to operate"
                },
                {
                  "url": "https://n8n.io/blog/using-automation-to-boost-productivity-in-the-workplace/",
                  "icon": "💪",
                  "label": "Using Automation to Boost Productivity in the Workplace"
                }
              ],
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/trigger-nodes/n8n-nodes-base.gmailtrigger/"
                }
              ],
              "credentialDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"
                }
              ]
            },
            "categories": [
              "Communication"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0"
          }
        },
        "group": "[\"trigger\"]",
        "defaults": {
          "name": "Gmail Trigger"
        },
        "iconData": {
          "type": "file",
          "fileBuffer": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTYiIGhlaWdodD0iMTkzIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZmlsbD0iIzQyODVGNCIgZD0iTTU4LjE4MiAxOTIuMDVWOTMuMTRMMjcuNTA3IDY1LjA3NyAwIDQ5LjUwNHYxMjUuMDkxYzAgOS42NTggNy44MjUgMTcuNDU1IDE3LjQ1NSAxNy40NTV6Ii8+PHBhdGggZmlsbD0iIzM0QTg1MyIgZD0iTTE5Ny44MTggMTkyLjA1aDQwLjcyN2M5LjY1OSAwIDE3LjQ1NS03LjgyNiAxNy40NTUtMTcuNDU1VjQ5LjUwNWwtMzEuMTU2IDE3LjgzNy0yNy4wMjYgMjUuNzk4eiIvPjxwYXRoIGZpbGw9IiNFQTQzMzUiIGQ9Im01OC4xODIgOTMuMTQtNC4xNzQtMzguNjQ3IDQuMTc0LTM2Ljk4OUwxMjggNjkuODY4bDY5LjgxOC01Mi4zNjQgNC42NyAzNC45OTItNC42NyA0MC42NDRMMTI4IDE0NS41MDR6Ii8+PHBhdGggZmlsbD0iI0ZCQkMwNCIgZD0iTTE5Ny44MTggMTcuNTA0VjkzLjE0TDI1NiA0OS41MDRWMjYuMjMxYzAtMjEuNTg1LTI0LjY0LTMzLjg5LTQxLjg5LTIwLjk0NXoiLz48cGF0aCBmaWxsPSIjQzUyMjFGIiBkPSJtMCA0OS41MDQgMjYuNzU5IDIwLjA3TDU4LjE4MiA5My4xNFYxNy41MDRMNDEuODkgNS4yODZDMjQuNjEtNy42NiAwIDQuNjQ2IDAgMjYuMjN6Ii8+PC9zdmc+"
        },
        "displayName": "Gmail Trigger",
        "typeVersion": 1,
        "nodeCategories": [
          {
            "id": 6,
            "name": "Communication"
          }
        ]
      },
      {
        "id": 834,
        "icon": "file:code.svg",
        "name": "n8n-nodes-base.code",
        "codex": {
          "data": {
            "alias": [
              "cpde",
              "Javascript",
              "JS",
              "Python",
              "Script",
              "Custom Code",
              "Function"
            ],
            "details": "The Code node allows you to execute JavaScript in your workflow.",
            "resources": {
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.code/"
                }
              ]
            },
            "categories": [
              "Development",
              "Core Nodes"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0",
            "subcategories": {
              "Core Nodes": [
                "Helpers",
                "Data Transformation"
              ]
            }
          }
        },
        "group": "[\"transform\"]",
        "defaults": {
          "name": "Code"
        },
        "iconData": {
          "type": "file",
          "fileBuffer": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xMTcxXzQ0MSkiPgo8cGF0aCBkPSJNMTcwLjI4MyA0OEgxOTYuNUMyMDMuMTI3IDQ4IDIwOC41IDQyLjYyNzQgMjA4LjUgMzZWMTJDMjA4LjUgNS4zNzI1OCAyMDMuMTI3IDAgMTk2LjUgMEgxNzAuMjgzQzEyNi4xIDAgOTAuMjgzIDM1LjgxNzIgOTAuMjgzIDgwVjE3NkM5MC4yODMgMjA2LjkyOCA2NS4yMTA5IDIzMiAzNC4yODMgMjMySDIzQzE2LjM3MjYgMjMyIDExIDIzNy4zNzIgMTEgMjQ0VjI2OEMxMSAyNzQuNjI3IDE2LjM3MjQgMjgwIDIyLjk5OTYgMjgwTDM0LjI4MyAyODBDNjUuMjEwOSAyODAgOTAuMjgzIDMwNS4wNzIgOTAuMjgzIDMzNlY0NDBDOTAuMjgzIDQ3OS43NjQgMTIyLjUxOCA1MTIgMTYyLjI4MyA1MTJIMTk2LjVDMjAzLjEyNyA1MTIgMjA4LjUgNTA2LjYyNyAyMDguNSA1MDBWNDc2QzIwOC41IDQ2OS4zNzMgMjAzLjEyNyA0NjQgMTk2LjUgNDY0SDE2Mi4yODNDMTQ5LjAyOCA0NjQgMTM4LjI4MyA0NTMuMjU1IDEzOC4yODMgNDQwVjMzNkMxMzguMjgzIDMwOS4wMjIgMTI4LjAxMSAyODQuNDQzIDExMS4xNjQgMjY1Ljk2MUMxMDYuMTA5IDI2MC40MTYgMTA2LjEwOSAyNTEuNTg0IDExMS4xNjQgMjQ2LjAzOUMxMjguMDExIDIyNy41NTcgMTM4LjI4MyAyMDIuOTc4IDEzOC4yODMgMTc2VjgwQzEzOC4yODMgNjIuMzI2OSAxNTIuNjEgNDggMTcwLjI4MyA0OFoiIGZpbGw9IiNGRjk5MjIiLz4KPHBhdGggZD0iTTMwNSAzNkMzMDUgNDIuNjI3NCAzMTAuMzczIDQ4IDMxNyA0OEgzNDIuOTc5QzM2MC42NTIgNDggMzc0Ljk3OCA2Mi4zMjY5IDM3NC45NzggODBWMTc2QzM3NC45NzggMjAyLjk3OCAzODUuMjUxIDIyNy41NTcgNDAyLjA5OCAyNDYuMDM5QzQwNy4xNTMgMjUxLjU4NCA0MDcuMTUzIDI2MC40MTYgNDAyLjA5OCAyNjUuOTYxQzM4NS4yNTEgMjg0LjQ0MyAzNzQuOTc4IDMwOS4wMjIgMzc0Ljk3OCAzMzZWNDMyQzM3NC45NzggNDQ5LjY3MyAzNjAuNjUyIDQ2NCAzNDIuOTc5IDQ2NEgzMTdDMzEwLjM3MyA0NjQgMzA1IDQ2OS4zNzMgMzA1IDQ3NlY1MDBDMzA1IDUwNi42MjcgMzEwLjM3MyA1MTIgMzE3IDUxMkgzNDIuOTc5QzM4Ny4xNjEgNTEyIDQyMi45NzggNDc2LjE4MyA0MjIuOTc4IDQzMlYzMzZDNDIyLjk3OCAzMDUuMDcyIDQ0OC4wNTEgMjgwIDQ3OC45NzkgMjgwSDQ5MEM0OTYuNjI3IDI4MCA1MDIgMjc0LjYyOCA1MDIgMjY4VjI0NEM1MDIgMjM3LjM3MyA0OTYuNjI4IDIzMiA0OTAgMjMyTDQ3OC45NzkgMjMyQzQ0OC4wNTEgMjMyIDQyMi45NzggMjA2LjkyOCA0MjIuOTc4IDE3NlY4MEM0MjIuOTc4IDM1LjgxNzIgMzg3LjE2MSAwIDM0Mi45NzkgMEgzMTdDMzEwLjM3MyAwIDMwNSA1LjM3MjU4IDMwNSAxMlYzNloiIGZpbGw9IiNGRjk5MjIiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xMTcxXzQ0MSI+CjxyZWN0IHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo="
        },
        "displayName": "Code",
        "typeVersion": 2,
        "nodeCategories": [
          {
            "id": 5,
            "name": "Development"
          },
          {
            "id": 9,
            "name": "Core Nodes"
          }
        ]
      }
    ],
    "categories": [
      {
        "id": 41,
        "name": "Ticket Management"
      }
    ],
    "image": []
  }
}