{"workflow":{"id":13127,"name":"Publish WordPress posts from Google Sheets with images and tags","views":65,"recentViews":0,"totalViews":65,"createdAt":"2026-01-31T08:38:15.224Z","description":"## Who this is for\nThis workflow is for content teams, marketers, and solo site owners who draft posts in Google Sheets and want a reliable way to publish to WordPress automatically — including featured images and tags.\n\n## What it does\n- Pulls rows from a Google Sheet where `status = READY`\n- Processes rows one-by-one (safe for multiple posts in a single run)\n- If `image_url` is present, downloads the image and uploads it to WordPress Media, then uses it as `featured_media`\n- Parses `hashtags` into clean tag slugs, checks if each tag exists in WordPress, and creates missing tags\n- Publishes the post via the WordPress REST API (`/wp-json/wp/v2/posts`) with the collected tag IDs\n- Updates the same Google Sheets row to `POSTED` and writes `posted_at` + `post_url`\n\n## How to set up\n1) Make a copy of the Google Sheets template: https://docs.google.com/spreadsheets/d/1lJDeaN75c1hBk0gddsdvbeXDuxDr5Q-NablHRSjvLjQ/edit?gid=0#gid=0  \n2) Connect **Google Sheets** credentials in n8n and point the workflow to your spreadsheet + sheet tab.  \n3) Connect **WordPress** credentials (recommended: Application Password) for REST API access.  \n4) Ensure your sheet has columns like: `id`, `status`, `title`, `excerpt`, `body`, `image_url`, `hashtags`.\n\n## Requirements\n- WordPress site with REST API enabled\n- Credentials set via n8n (no hardcoded secrets)\n- Publicly accessible `image_url` (or adjust the workflow for private assets)\n\n## How to customise\n- Swap Manual Trigger for Cron to publish on a schedule\n- Add categories, custom post types, or draft mode\n- Extend error handling to write `error_message` and set `status = ERROR` when publishing fails","workflow":{"id":"JkXVmpdItAhJZ6Dsal8Xt","meta":{"instanceId":"c8cac90529b9f5aef74f3fcdddb22e684415ffe80bff20a3debe30871cb99f76","templateCredsSetupCompleted":true},"name":"Google Sheets to Worpress","tags":[],"nodes":[{"id":"a28c26ce-d4f3-43fb-96a1-7ab314a5c73a","name":"When clicking ‘Execute workflow’","type":"n8n-nodes-base.manualTrigger","position":[-1296,0],"parameters":{},"typeVersion":1},{"id":"32a0c862-877d-4ff3-8c2d-d123ee3520ed","name":"Loop Over Items","type":"n8n-nodes-base.splitInBatches","position":[-320,0],"parameters":{"options":{}},"typeVersion":3},{"id":"88f6b20d-8551-4eec-9535-ef6ef5769f2f","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[-880,-160],"parameters":{"color":7,"width":246,"height":144,"content":"## Fetch READY rows\n\nLoads rows where status is READY from the Google Sheet."},"typeVersion":1},{"id":"a029d6e6-febc-4933-86ad-b5dec4185413","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[-320,-112],"parameters":{"color":7,"width":2464,"height":96,"content":"## Process rows\n\nLoops through selected rows and publishes them one by one."},"typeVersion":1},{"id":"47dce6f1-e002-44db-9ee9-0a47fe1abc7c","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[-112,48],"parameters":{"color":7,"width":560,"height":96,"content":"## Optional featured image\n\nIf image_url exists: download → upload to WP Media → use as featured image."},"typeVersion":1},{"id":"bead93d3-9b9e-4dad-b413-e3ccd8b3a32b","name":"If ($image)","type":"n8n-nodes-base.if","position":[-112,160],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"loose"},"combinator":"and","conditions":[{"id":"7edc78ca-282b-4e1a-9586-5bcfe85d01de","operator":{"type":"string","operation":"notEmpty","singleValue":true},"leftValue":"={{ $json.image_url }}","rightValue":""}]},"looseTypeValidation":true},"typeVersion":2.3},{"id":"5105b660-c165-4f42-8c26-1017401645a5","name":"Load $image as binary","type":"n8n-nodes-base.httpRequest","position":[112,160],"parameters":{"url":"={{ $json.image_url }}","options":{}},"typeVersion":4.3,"alwaysOutputData":true},{"id":"c549d894-d53f-41d6-9a88-55c973e0d78f","name":"Upload $image to WP","type":"n8n-nodes-base.httpRequest","position":[320,160],"parameters":{"url":"={{ $node[\"Variables\"].json.website_URL + \"/wp-json/wp/v2/media\" }}","method":"POST","options":{},"sendBody":true,"contentType":"binaryData","sendHeaders":true,"authentication":"genericCredentialType","genericAuthType":"httpBasicAuth","headerParameters":{"parameters":[{"name":"Content-Disposition","value":"=attachment; filename=\"post-{{ $json.id }}.png\""},{"name":"Content-Type","value":"image/png"}]},"inputDataFieldName":"data"},"credentials":{"httpBasicAuth":{"id":"4VxzXuj7KteO0YhG","name":"n8n-njmarketing"}},"typeVersion":4.3},{"id":"ec070ef4-9c29-4515-8eae-fa7548212015","name":"Get tag_id from WP","type":"n8n-nodes-base.httpRequest","position":[1376,432],"parameters":{"url":"={{ $node[\"Variables\"].json.website_URL + \"/wp-json/wp/v2/tags?slug=\" + $json.tags_to_process.tag_slug + \"&per_page=100\" }}","options":{},"authentication":"genericCredentialType","genericAuthType":"httpBasicAuth"},"credentials":{"httpBasicAuth":{"id":"4VxzXuj7KteO0YhG","name":"n8n-njmarketing"}},"typeVersion":4.3,"alwaysOutputData":true},{"id":"5829d9fe-b566-43d5-8ffb-f22ec328c141","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[592,208],"parameters":{"color":7,"width":1552,"height":96,"content":"## Tags from hashtags\n\nParse hashtags → get/create WP tags → collect tag IDs for the post."},"typeVersion":1},{"id":"035ca5a6-71e6-4113-bf77-d0861cbf7cc6","name":"HTTP Request","type":"n8n-nodes-base.httpRequest","position":[2368,0],"parameters":{"url":"={{ $node[\"Variables\"].json.website_URL + \"/wp-json/wp/v2/posts\" }}","method":"POST","options":{},"jsonBody":"={{ $json.wp_post_payload }}","sendBody":true,"sendHeaders":true,"specifyBody":"json","authentication":"genericCredentialType","genericAuthType":"httpBasicAuth","headerParameters":{"parameters":[{"name":"Content-Type","value":"application/json"}]}},"credentials":{"httpBasicAuth":{"id":"4VxzXuj7KteO0YhG","name":"n8n-njmarketing"}},"typeVersion":4.3},{"id":"c86a5481-e8a8-410d-9291-c34b605c7e8a","name":"Update row in sheet","type":"n8n-nodes-base.googleSheets","position":[2576,0],"parameters":{"columns":{"value":{"id":"={{ $('Prepare data').item.json.id }}","status":"POSTED","post_url":"={{ $json.link }}","posted_at":"={{ $json.date }}"},"schema":[{"id":"id","type":"string","display":true,"removed":false,"required":false,"displayName":"id","defaultMatch":true,"canBeUsedToMatch":true},{"id":"status","type":"string","display":true,"required":false,"displayName":"status","defaultMatch":false,"canBeUsedToMatch":true},{"id":"title","type":"string","display":true,"removed":true,"required":false,"displayName":"title","defaultMatch":false,"canBeUsedToMatch":true},{"id":"excerpt","type":"string","display":true,"removed":true,"required":false,"displayName":"excerpt","defaultMatch":false,"canBeUsedToMatch":true},{"id":"body","type":"string","display":true,"removed":true,"required":false,"displayName":"body","defaultMatch":false,"canBeUsedToMatch":true},{"id":"image_url","type":"string","display":true,"removed":true,"required":false,"displayName":"image_url","defaultMatch":false,"canBeUsedToMatch":true},{"id":"hashtags","type":"string","display":true,"removed":true,"required":false,"displayName":"hashtags","defaultMatch":false,"canBeUsedToMatch":true},{"id":"posted_at","type":"string","display":true,"required":false,"displayName":"posted_at","defaultMatch":false,"canBeUsedToMatch":true},{"id":"post_url","type":"string","display":true,"required":false,"displayName":"post_url","defaultMatch":false,"canBeUsedToMatch":true},{"id":"error_message","type":"string","display":true,"required":false,"displayName":"error_message","defaultMatch":false,"canBeUsedToMatch":true},{"id":"row_number","type":"number","display":true,"removed":true,"readOnly":true,"required":false,"displayName":"row_number","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":["id"],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"update","sheetName":{"__rl":true,"mode":"list","value":"gid=0","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1Wk0EVMr3ubq7piMMnMcqk58yMU5akCgj9sPzbL2zL6k/edit#gid=0","cachedResultName":"WP Posts"},"documentId":{"__rl":true,"mode":"list","value":"1Wk0EVMr3ubq7piMMnMcqk58yMU5akCgj9sPzbL2zL6k","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1Wk0EVMr3ubq7piMMnMcqk58yMU5akCgj9sPzbL2zL6k/edit?usp=drivesdk","cachedResultName":"Google Sheets to WP"}},"credentials":{"googleSheetsOAuth2Api":{"id":"Eeu72TS47dnPrBNl","name":"Google Sheets account"}},"typeVersion":4.7},{"id":"0dc91e87-7026-42a3-9452-b5ca00b96758","name":"Sticky Note4","type":"n8n-nodes-base.stickyNote","position":[2176,-112],"parameters":{"color":7,"width":528,"height":96,"content":"## Publish + update sheet\n\nCreate WP post → write POSTED + URL back to the same row."},"typeVersion":1},{"id":"ab8e0d5a-6455-4653-80c1-e3c46c194287","name":"Split Out","type":"n8n-nodes-base.splitOut","position":[960,320],"parameters":{"include":"allOtherFields","options":{},"fieldToSplitOut":"tags_to_process"},"typeVersion":1},{"id":"c2861d90-2485-4eb0-a6ba-b57978d594f3","name":"Loop Over Items1","type":"n8n-nodes-base.splitInBatches","position":[1152,320],"parameters":{"options":{}},"typeVersion":3},{"id":"e0ee229b-d509-4e7c-9918-6ab032adbf1c","name":"Variables","type":"n8n-nodes-base.set","position":[-1088,0],"parameters":{"options":{},"assignments":{"assignments":[{"id":"3f518ed0-d3f4-41e1-b36e-374bcbef1bc6","name":"website_URL","type":"string","value":"https://ozwebexpert.com"},{"id":"84f77098-4555-40df-8b96-bc0227f793e8","name":"google_sheet_URL","type":"string","value":"https://docs.google.com/spreadsheets/d/1Wk0EVMr3ubq7piMMnMcqk58yMU5akCgj9sPzbL2zL6k/edit?gid=0#gid=0"}]}},"typeVersion":3.4},{"id":"1460f3ee-f47f-4523-8f9b-176fd76411ea","name":"Sticky Note5","type":"n8n-nodes-base.stickyNote","position":[-1232,-160],"parameters":{"color":7,"width":326,"height":144,"content":"## Inputs & credentials\n\nSet WordPress site URL + Google Sheet URL. Connect WP + Google credentials."},"typeVersion":1},{"id":"8dfa4b2b-e673-4fe3-a4b5-7970e7f257aa","name":"Get row(s) in sheet","type":"n8n-nodes-base.googleSheets","position":[-832,0],"parameters":{"options":{},"filtersUI":{"values":[{"lookupValue":"READY","lookupColumn":"status"}]},"sheetName":{"__rl":true,"mode":"url","value":"={{ $json.google_sheet_URL }}","__regex":"https:\\/\\/docs\\.google\\.com\\/spreadsheets\\/d\\/[0-9a-zA-Z\\-_]+.*\\#gid=([0-9]+)"},"documentId":{"__rl":true,"mode":"url","value":"https://docs.google.com/spreadsheets/d/1Wk0EVMr3ubq7piMMnMcqk58yMU5akCgj9sPzbL2zL6k/edit?usp=drivesdk","__regex":"https:\\/\\/(?:drive|docs)\\.google\\.com(?:\\/.*|)\\/d\\/([0-9a-zA-Z\\-_]+)(?:\\/.*|)"}},"credentials":{"googleSheetsOAuth2Api":{"id":"Eeu72TS47dnPrBNl","name":"Google Sheets account"}},"typeVersion":4.7},{"id":"e418e89a-6e40-43e9-b82a-df677eaa540e","name":"If ($tags)","type":"n8n-nodes-base.if","position":[592,320],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"3f35019c-45cb-4c1d-8679-a5617337e8d5","operator":{"type":"string","operation":"notEmpty","singleValue":true},"leftValue":"={{ $('Loop Over Items').item.json.hashtags }}","rightValue":""}]}},"typeVersion":2.3},{"id":"fc5b63b3-73cf-4cb1-873f-98c7d5ade380","name":"Parse $tags","type":"n8n-nodes-base.code","position":[784,320],"parameters":{"jsCode":"function slugify(input) {\n  return String(input || \"\")\n    .trim()\n    .toLowerCase()\n    .replace(/['\"]/g, \"\")\n    .replace(/\\s+/g, \"-\")\n    .replace(/[^a-z0-9\\-_]+/g, \"-\")\n    .replace(/-+/g, \"-\")\n    .replace(/^-|-$/g, \"\");\n}\n\nfunction extractTags(str) {\n  const s = String(str || \"\").trim();\n  if (!s) return [];\n\n  // Try hashtags first: \"#n8n #wordpress\"\n  const hashMatches = s.match(/#[^\\s#,;]+/g) || [];\n  let raw = hashMatches.map(t => t.replace(/^#+/, \"\").trim()).filter(Boolean);\n\n  // If no #tags found, fallback to splitting words\n  if (raw.length === 0) {\n    raw = s\n      .split(/[\\s,;]+/g)\n      .map(t => t.replace(/^#+/, \"\").trim())\n      .filter(Boolean);\n  }\n\n  // Clean trailing punctuation\n  raw = raw.map(t => t.replace(/[^\\w\\-]+$/g, \"\").trim()).filter(Boolean);\n\n  // Deduplicate by slug\n  const seen = new Set();\n  const out = [];\n\n  for (const name of raw) {\n    const slug = slugify(name);\n    if (!slug) continue;\n    if (seen.has(slug)) continue;\n    seen.add(slug);\n    out.push({ tag_name: name, tag_slug: slug });\n  }\n\n  return out;\n}\n\n// Parse hashtags from the CURRENT item\nreturn items.map(item => {\n  const tags = extractTags($('Loop Over Items').first().json.hashtags);\n\n  return {\n    json: {\n      ...item.json,\n      tags_to_process: tags,\n      tags: []\n    }\n  };\n});\n"},"typeVersion":2},{"id":"b6ba7e92-fb2d-4f0b-85c4-893d25a8bb1b","name":"If","type":"n8n-nodes-base.if","position":[1616,432],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"loose"},"combinator":"and","conditions":[{"id":"baa9727c-8d11-4dfe-9ecc-8db4ae79a5ce","operator":{"type":"number","operation":"gt"},"leftValue":"={{ $json.id }}","rightValue":0}]},"looseTypeValidation":true},"typeVersion":2.3},{"id":"cf8e467d-2ed2-4c66-9be8-ce239f9ecfcd","name":"Create new tag","type":"n8n-nodes-base.httpRequest","position":[1792,432],"parameters":{"url":"={{ $node[\"Variables\"].json.website_URL + \"/wp-json/wp/v2/tags\" }}","method":"POST","options":{},"jsonBody":"={\n  \"name\": \"{{ $('Split Out').item.json.tags_to_process.tag_name }}\", \"slug\": \"{{ $('Split Out').item.json.tags_to_process.tag_slug }}\"\n}","sendBody":true,"sendHeaders":true,"specifyBody":"json","authentication":"genericCredentialType","genericAuthType":"httpBasicAuth","headerParameters":{"parameters":[{"name":"Content-Type","value":"application/json"}]}},"credentials":{"httpBasicAuth":{"id":"4VxzXuj7KteO0YhG","name":"n8n-njmarketing"}},"typeVersion":4.3,"alwaysOutputData":false},{"id":"3ccc305a-d926-49c8-aa7b-6cf54466ab7a","name":"Code in JavaScript","type":"n8n-nodes-base.code","position":[-560,0],"parameters":{"jsCode":"const data = $getWorkflowStaticData('global');\ndata.wp_tag_ids = '0';\nreturn items;"},"typeVersion":2},{"id":"a8e27a26-f66a-4ce5-81ca-2e392f57feac","name":"Prepare data","type":"n8n-nodes-base.code","position":[2176,0],"parameters":{"jsCode":"const data = $getWorkflowStaticData('global');\nconst wpTagIds = String(data.wp_tag_ids || '0');\n\nconst tags = wpTagIds\n  .split(',')\n  .map(s => parseInt(s.trim(), 10))\n  .filter(n => Number.isFinite(n) && n > 0);\n\n// Текущая строка поста из основного цикла\nconst row = $node[\"Loop Over Items\"].json;\n\n// 1) media_id, если ты его уже сохранил в item (лучший вариант)\nlet mediaId = Number.isFinite(row.media_id) ? row.media_id : null;\n\n// 2) fallback: попробовать взять id из ноды Upload $image to WP,\n//    но БЕЗОПАСНО — эта нода может не выполняться.\nif (!Number.isFinite(mediaId)) {\n  try {\n    const uploadItems = $items(\"Upload $image to WP\"); // может бросить, если нода не выполнялась\n    const uploadId = uploadItems?.[0]?.json?.id;\n    if (Number.isFinite(uploadId)) {\n      mediaId = uploadId;\n    }\n  } catch (e) {\n    // upload node not executed -> ignore\n  }\n}\n\n// Собираем payload для WP\nconst payload = {\n  title: row.title || '',\n  excerpt: row.excerpt || '',\n  content: row.body || '',\n  status: row.post_status || '',\n  tags,\n};\n\n// Добавляем featured_media только если есть корректный id\nif (Number.isFinite(mediaId) && mediaId > 0) {\n  payload.featured_media = mediaId;\n}\n\nreturn [{\n  json: {\n    ...row,\n    wp_post_payload: payload,\n  }\n}];\n"},"typeVersion":2},{"id":"91e83162-edd2-4efd-aa64-e16e7a54a724","name":"Sticky Note7","type":"n8n-nodes-base.stickyNote","position":[1616,336],"parameters":{"color":7,"width":480,"height":80,"content":"## Create new ones\ncreate new tags & get their ids from WP if necessary"},"typeVersion":1},{"id":"fcc082c6-6dab-42d2-b406-d8b0ad5d28f6","name":"Sticky Note8","type":"n8n-nodes-base.stickyNote","position":[1376,336],"parameters":{"color":7,"width":176,"height":80,"content":"## Get tag ids\nselect tag ids from WP"},"typeVersion":1},{"id":"b3d6cc64-95bc-495a-8e4f-967cc0668178","name":"Store tag_id","type":"n8n-nodes-base.code","position":[2000,432],"parameters":{"jsCode":"const data = $getWorkflowStaticData('global');\n\nconst nextId = $json.id; // или $json.tag_id — что у тебя реально является ID\nconst idStr = String(nextId || '').trim();\n\nif (/^\\d+$/.test(idStr)) {\n  const current = String(data.wp_tag_ids || '0');\n  const parts = current.split(',').map(s => s.trim()).filter(Boolean);\n\n  // без дублей\n  if (!parts.includes(idStr)) {\n    data.wp_tag_ids = current + ',' + idStr;\n  }\n}\n\nreturn items;\n"},"typeVersion":2},{"id":"31f78df4-caa3-48cf-b68c-704d160f218d","name":"Store tag_id1","type":"n8n-nodes-base.code","position":[2000,608],"parameters":{"jsCode":"const data = $getWorkflowStaticData('global');\n\nconst nextId = $json.id; // или $json.tag_id — что у тебя реально является ID\nconst idStr = String(nextId || '').trim();\n\nif (/^\\d+$/.test(idStr)) {\n  const current = String(data.wp_tag_ids || '0');\n  const parts = current.split(',').map(s => s.trim()).filter(Boolean);\n\n  // без дублей\n  if (!parts.includes(idStr)) {\n    data.wp_tag_ids = current + ',' + idStr;\n  }\n}\n\nreturn items;\n"},"typeVersion":2},{"id":"46844914-5e7e-4bb0-a03f-aa9272d2cadc","name":"Sticky Note10","type":"n8n-nodes-base.stickyNote","position":[-1328,-720],"parameters":{"width":912,"height":480,"content":"## Google Sheets → WordPress Publisher\n\n**How it works**\n\nThis workflow reads rows from a Google Sheet where status = READY, then publishes each row as a WordPress post via the WP REST API. If image_url is present, it downloads the image and uploads it to WordPress Media, then attaches it as the featured image. If hashtags are present, it parses them, looks up matching WordPress tags by slug, creates missing tags, and collects their IDs. Finally, it builds the post payload (title/excerpt/content/tags/featured media), publishes the post, and updates the same Google Sheet row with status = POSTED, posted_at, and post_url.\n\n**Setup steps**\n- Connect Google Sheets credentials in n8n and set the spreadsheet URL in the Variables node.\n- Create WordPress credentials (Application Password / Basic Auth) and set your site URL in Variables.\n- Ensure your sheet has columns: id, status, title, excerpt, body, image_url, hashtags.\n- Add one test row with status = READY and run the workflow.\n\n**Customisation**\n\n- Change post status to draft, map extra fields (categories, author), or adjust tag parsing rules.\n- Use this template to organise your future posts [https://docs.google.com/spreadsheets/d/1lJDeaN75c1hBk0gddsdvbeXDuxDr5Q-NablHRSjvLjQ/edit?gid=0#gid=0](https://docs.google.com/spreadsheets/d/1lJDeaN75c1hBk0gddsdvbeXDuxDr5Q-NablHRSjvLjQ/edit?gid=0#gid=0)"},"typeVersion":1},{"id":"6a4472d4-5edd-4506-be93-0fa72401d521","name":"Sticky Note6","type":"n8n-nodes-base.stickyNote","position":[-400,-720],"parameters":{"width":608,"height":400,"content":"## Video Walkthrough\n@[youtube](W3xQ1t4irqc)\n"},"typeVersion":1}],"active":false,"pinData":{},"settings":{"availableInMCP":false,"executionOrder":"v1"},"versionId":"aefa6629-6dca-4b88-ab62-6f5ca543ab91","connections":{"If":{"main":[[{"node":"Store tag_id1","type":"main","index":0}],[{"node":"Create new tag","type":"main","index":0}]]},"Split Out":{"main":[[{"node":"Loop Over Items1","type":"main","index":0}]]},"Variables":{"main":[[{"node":"Get row(s) in sheet","type":"main","index":0}]]},"If ($tags)":{"main":[[{"node":"Parse $tags","type":"main","index":0}],[{"node":"Prepare data","type":"main","index":0}]]},"If ($image)":{"main":[[{"node":"Load $image as binary","type":"main","index":0}],[{"node":"If ($tags)","type":"main","index":0}]]},"Parse $tags":{"main":[[{"node":"Split Out","type":"main","index":0}]]},"HTTP Request":{"main":[[{"node":"Update row in sheet","type":"main","index":0}]]},"Prepare data":{"main":[[{"node":"HTTP Request","type":"main","index":0}]]},"Store tag_id":{"main":[[{"node":"Loop Over Items1","type":"main","index":0}]]},"Store tag_id1":{"main":[[{"node":"Loop Over Items1","type":"main","index":0}]]},"Create new tag":{"main":[[{"node":"Store tag_id","type":"main","index":0}]]},"Loop Over Items":{"main":[[],[{"node":"If ($image)","type":"main","index":0}]]},"Loop Over Items1":{"main":[[{"node":"Prepare data","type":"main","index":0}],[{"node":"Get tag_id from WP","type":"main","index":0}]]},"Code in JavaScript":{"main":[[{"node":"Loop Over Items","type":"main","index":0}]]},"Get tag_id from WP":{"main":[[{"node":"If","type":"main","index":0}]]},"Get row(s) in sheet":{"main":[[{"node":"Code in JavaScript","type":"main","index":0}]]},"Update row in sheet":{"main":[[{"node":"Loop Over Items","type":"main","index":0}]]},"Upload $image to WP":{"main":[[{"node":"If ($tags)","type":"main","index":0}]]},"Load $image as binary":{"main":[[{"node":"Upload $image to WP","type":"main","index":0}]]},"When clicking ‘Execute workflow’":{"main":[[{"node":"Variables","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":30,"nodeTypes":{"n8n-nodes-base.if":{"count":3},"n8n-nodes-base.set":{"count":1},"n8n-nodes-base.code":{"count":5},"n8n-nodes-base.splitOut":{"count":1},"n8n-nodes-base.stickyNote":{"count":10},"n8n-nodes-base.httpRequest":{"count":5},"n8n-nodes-base.googleSheets":{"count":2},"n8n-nodes-base.manualTrigger":{"count":1},"n8n-nodes-base.splitInBatches":{"count":2}}},"status":"published","readyToDemo":null,"user":{"name":"Grigory Frolov","username":"gregfrolov","bio":"🎯 Digital Marketing & Web Dev Expert | 20+ Years of Results-Driven Experience. Helping businesses reduce ad spend and boost revenue through smart digital strategies.","verified":true,"links":["https://ozwebexpert.com/"],"avatar":"https://gravatar.com/avatar/9c1eb1838c5b52ce47af62f10aa6fa5c8fe2a0298fe41311ef3c7b344b70adc2?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":19,"icon":"file:httprequest.svg","name":"n8n-nodes-base.httpRequest","codex":{"data":{"alias":["API","Request","URL","Build","cURL"],"resources":{"generic":[{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"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-pulling-and-visualizing-data-with-n8n/","icon":"📈","label":"Automatically pulling and visualizing data with n8n"},{"url":"https://n8n.io/blog/learn-how-to-automatically-cross-post-your-content-with-n8n/","icon":"✍️","label":"Learn how to automatically cross-post your content with n8n"},{"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/running-n8n-on-ships-an-interview-with-maranics/","icon":"🛳","label":"Running n8n on ships: An interview with Maranics"},{"url":"https://n8n.io/blog/what-are-apis-how-to-use-them-with-no-code/","icon":" 🪢","label":"What are APIs and how to use them with no code"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/world-poetry-day-workflow/","icon":"📜","label":"Celebrating World Poetry Day with a daily poem in Telegram"},{"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/automate-designs-with-bannerbear-and-n8n/","icon":"🎨","label":"Automate Designs with Bannerbear and n8n"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/building-an-expense-tracking-app-in-10-minutes/","icon":"📱","label":"Building an expense tracking app in 10 minutes"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/how-to-use-the-http-request-node-the-swiss-army-knife-for-workflow-automation/","icon":"🧰","label":"How to use the HTTP Request Node - The Swiss Army Knife for Workflow Automation"},{"url":"https://n8n.io/blog/learn-how-to-use-webhooks-with-mattermost-slash-commands/","icon":"🦄","label":"Learn how to use webhooks with Mattermost slash commands"},{"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/a-low-code-bitcoin-ticker-built-with-questdb-and-n8n-io/","icon":"📈","label":"A low-code bitcoin ticker built with QuestDB and n8n.io"},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/automations-for-activists/","icon":"✨","label":"How Common Knowledge use workflow automation for activism"},{"url":"https://n8n.io/blog/creating-scheduled-text-affirmations-with-n8n/","icon":"🤟","label":"Creating scheduled text affirmations with n8n"},{"url":"https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/","icon":"🛵","label":"How Goomer automated their operations with over 200 n8n workflows"},{"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/core-nodes/n8n-nodes-base.httprequest/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"output\"]","defaults":{"name":"HTTP Request","color":"#0004F5"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00MCAyMEM0MCA4Ljk1MzE0IDMxLjA0NjkgMCAyMCAwQzguOTUzMTQgMCAwIDguOTUzMTQgMCAyMEMwIDMxLjA0NjkgOC45NTMxNCA0MCAyMCA0MEMzMS4wNDY5IDQwIDQwIDMxLjA0NjkgNDAgMjBaTTIwIDM2Ljk0NThDMTguODg1MiAzNi45NDU4IDE3LjEzNzggMzUuOTY3IDE1LjQ5OTggMzIuNjk4NUMxNC43OTY0IDMxLjI5MTggMTQuMTk2MSAyOS41NDMxIDEzLjc1MjYgMjcuNjg0N0gyNi4xODk4QzI1LjgwNDUgMjkuNTQwMyAyNS4yMDQ0IDMxLjI5MDEgMjQuNTAwMiAzMi42OTg1QzIyLjg2MjIgMzUuOTY3IDIxLjExNDggMzYuOTQ1OCAyMCAzNi45NDU4Wk0xMi45MDY0IDIwQzEyLjkwNjQgMjEuNjA5NyAxMy4wMDg3IDIzLjE2NCAxMy4yMDAzIDI0LjYzMDVIMjYuNzk5N0MyNi45OTEzIDIzLjE2NCAyNy4wOTM2IDIxLjYwOTcgMjcuMDkzNiAyMEMyNy4wOTM2IDE4LjM5MDMgMjYuOTkxMyAxNi44MzYgMjYuNzk5NyAxNS4zNjk1SDEzLjIwMDNDMTMuMDA4NyAxNi44MzYgMTIuOTA2NCAxOC4zOTAzIDEyLjkwNjQgMjBaTTIwIDMuMDU0MTlDMjEuMTE0OSAzLjA1NDE5IDIyLjg2MjIgNC4wMzA3OCAyNC41MDAxIDcuMzAwMzlDMjUuMjA2NiA4LjcxNDA4IDI1LjgwNzIgMTAuNDA2NyAyNi4xOTIgMTIuMzE1M0gxMy43NTAxQzE0LjE5MzMgMTAuNDA0NyAxNC43OTQyIDguNzEyNTQgMTUuNDk5OCA3LjMwMDY0QzE3LjEzNzcgNC4wMzA4MyAxOC44ODUxIDMuMDU0MTkgMjAgMy4wNTQxOVpNMzAuMTQ3OCAyMEMzMC4xNDc4IDE4LjQwOTkgMzAuMDU0MyAxNi44NjE3IDI5LjgyMjcgMTUuMzY5NUgzNi4zMDQyQzM2LjcyNTIgMTYuODQyIDM2Ljk0NTggMTguMzk2NCAzNi45NDU4IDIwQzM2Ljk0NTggMjEuNjAzNiAzNi43MjUyIDIzLjE1OCAzNi4zMDQyIDI0LjYzMDVIMjkuODIyN0MzMC4wNTQzIDIzLjEzODMgMzAuMTQ3OCAyMS41OTAxIDMwLjE0NzggMjBaTTI2LjI3NjcgNC4yNTUxMkMyNy42MzY1IDYuMzYwMTkgMjguNzExIDkuMTMyIDI5LjM3NzQgMTIuMzE1M0gzNS4xMDQ2QzMzLjI1MTEgOC42NjggMzAuMTA3IDUuNzgzNDYgMjYuMjc2NyA0LjI1NTEyWk0xMC42MjI2IDEyLjMxNTNINC44OTI5M0M2Ljc1MTQ3IDguNjY3ODQgOS44OTM1MSA1Ljc4MzQxIDEzLjcyMzIgNC4yNTUxM0MxMi4zNjM1IDYuMzYwMjEgMTEuMjg5IDkuMTMyMDEgMTAuNjIyNiAxMi4zMTUzWk0zLjA1NDE5IDIwQzMuMDU0MTkgMjEuNjAzIDMuMjc3NDMgMjMuMTU3NSAzLjY5NDg0IDI0LjYzMDVIMTAuMTIxN0M5Ljk0NjE5IDIzLjE0MiA5Ljg1MjIyIDIxLjU5NDMgOS44NTIyMiAyMEM5Ljg1MjIyIDE4LjQwNTcgOS45NDYxOSAxNi44NTggMTAuMTIxNyAxNS4zNjk1SDMuNjk0ODRDMy4yNzc0MyAxNi44NDI1IDMuMDU0MTkgMTguMzk3IDMuMDU0MTkgMjBaTTI2LjI3NjYgMzUuNzQyN0MyNy42MzY1IDMzLjYzOTMgMjguNzExIDMwLjg2OCAyOS4zNzc0IDI3LjY4NDdIMzUuMTA0NkMzMy4yNTEgMzEuMzMyMiAzMC4xMDY4IDM0LjIxNzkgMjYuMjc2NiAzNS43NDI3Wk0xMy43MjM0IDM1Ljc0MjdDOS44OTM2OSAzNC4yMTc5IDYuNzUxNTUgMzEuMzMyNCA0Ljg5MjkzIDI3LjY4NDdIMTAuNjIyNkMxMS4yODkgMzAuODY4IDEyLjM2MzUgMzMuNjM5MyAxMy43MjM0IDM1Ljc0MjdaIiBmaWxsPSIjM0E0MkU5Ii8+Cjwvc3ZnPgo="},"displayName":"HTTP Request","typeVersion":4,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core Nodes"}]},{"id":20,"icon":"fa:map-signs","name":"n8n-nodes-base.if","codex":{"data":{"alias":["Router","Filter","Condition","Logic","Boolean","Branch"],"details":"The IF node can be used to implement binary conditional logic in your workflow. You can set up one-to-many conditions to evaluate each item of data being inputted into the node. That data will either evaluate to TRUE or FALSE and route out of the node accordingly.\n\nThis node has multiple types of conditions: Bool, String, Number, and Date & Time.","resources":{"generic":[{"url":"https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/","icon":"🏭","label":"Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"},{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"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/create-a-toxic-language-detector-for-telegram/","icon":"🤬","label":"Create a toxic language detector for Telegram in 4 step"},{"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-build-a-low-code-self-hosted-url-shortener/","icon":"🔗","label":"How to build a low-code, self-hosted URL shortener in 3 steps"},{"url":"https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"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/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"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/automation-for-maintainers-of-open-source-projects/","icon":"🏷️","label":"How to automatically manage contributions to open-source projects"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"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-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"},{"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/core-nodes/n8n-nodes-base.if/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"transform\"]","defaults":{"name":"If","color":"#408000"},"iconData":{"icon":"map-signs","type":"icon"},"displayName":"If","typeVersion":2,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":38,"icon":"fa:pen","name":"n8n-nodes-base.set","codex":{"data":{"alias":["Set","JS","JSON","Filter","Transform","Map"],"resources":{"generic":[{"url":"https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/","icon":"🏭","label":"Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"},{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/automatically-pulling-and-visualizing-data-with-n8n/","icon":"📈","label":"Automatically pulling and visualizing data with n8n"},{"url":"https://n8n.io/blog/database-monitoring-and-alerting-with-n8n/","icon":"📡","label":"Database Monitoring and Alerting with n8n"},{"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/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-build-a-low-code-self-hosted-url-shortener/","icon":"🔗","label":"How to build a low-code, self-hosted URL shortener in 3 steps"},{"url":"https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"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/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"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/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/building-an-expense-tracking-app-in-10-minutes/","icon":"📱","label":"Building an expense tracking app in 10 minutes"},{"url":"https://n8n.io/blog/the-ultimate-guide-to-automate-your-video-collaboration-with-whereby-mattermost-and-n8n/","icon":"📹","label":"The ultimate guide to automate your video collaboration with Whereby, Mattermost, and n8n"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/learn-to-build-powerful-api-endpoints-using-webhooks/","icon":"🧰","label":"Learn to Build Powerful API Endpoints Using Webhooks"},{"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/a-low-code-bitcoin-ticker-built-with-questdb-and-n8n-io/","icon":"📈","label":"A low-code bitcoin ticker built with QuestDB and n8n.io"},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"},{"url":"https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/","icon":"🛵","label":"How Goomer automated their operations with over 200 n8n workflows"},{"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/core-nodes/n8n-nodes-base.set/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"input\"]","defaults":{"name":"Edit Fields"},"iconData":{"icon":"pen","type":"icon"},"displayName":"Edit Fields (Set)","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":39,"icon":"fa:sync","name":"n8n-nodes-base.splitInBatches","codex":{"data":{"alias":["Loop","Concatenate","Batch","Split","Split In Batches"],"resources":{"generic":[{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.splitinbatches/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"organization\"]","defaults":{"name":"Loop Over Items","color":"#007755"},"iconData":{"icon":"sync","type":"icon"},"displayName":"Loop Over Items (Split in Batches)","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"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":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"}]},{"id":838,"icon":"fa:mouse-pointer","name":"n8n-nodes-base.manualTrigger","codex":{"data":{"resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.manualworkflowtrigger/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"trigger\"]","defaults":{"name":"When clicking ‘Execute workflow’","color":"#909298"},"iconData":{"icon":"mouse-pointer","type":"icon"},"displayName":"Manual Trigger","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":1239,"icon":"file:splitOut.svg","name":"n8n-nodes-base.splitOut","codex":{"data":{"alias":["Split","Nested","Transform","Array","List","Item"],"details":"","resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.splitout/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Split Out"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJub25lIj48ZyBmaWxsPSIjOUI2REQ1IiBjbGlwLXBhdGg9InVybCgjYSkiPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTQ4MCAxNDhjMC02LjYyNy01LjM3My0xMi0xMi0xMkgzMjJjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2MjRjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmgxNDZjNi42MjcgMCAxMi01LjM3MyAxMi0xMnptMCA5NmMwLTYuNjI3LTUuMzczLTEyLTEyLTEySDMyMmMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnYyNGMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDE0NmM2LjYyNyAwIDEyLTUuMzczIDEyLTEyem0wIDk2YzAtNi42MjctNS4zNzMtMTItMTItMTJIMzIyYy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjI0YzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoMTQ2YzYuNjI3IDAgMTItNS4zNzMgMTItMTJ6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBkPSJNNDM4IDc2YzAgNi42MjctNS4zNzMgMTItMTIgMTJIMzA5Ljc4M2MtMTcuNjczIDAtMzIgMTQuMzI3LTMyIDMydjU2YzAgMjYuOTc4LTEwLjI3MiA1MS41NTctMjcuMTE5IDcwLjAzOS01LjA1NSA1LjU0NS01LjA1NSAxNC4zNzcgMCAxOS45MjIgMTYuODQ3IDE4LjQ4MiAyNy4xMTkgNDMuMDYxIDI3LjExOSA3MC4wMzl2NTZjMCAxNy42NzMgMTQuMzI3IDMyIDMyIDMySDQyNmM2LjYyNyAwIDEyIDUuMzczIDEyIDEydjI0YzAgNi42MjctNS4zNzMgMTItMTIgMTJIMzA5Ljc4M2MtNDQuMTgzIDAtODAtMzUuODE3LTgwLTgwdi01NmMwLTMwLjkyOC0yNS4wNzItNTYtNTYtNTZhNS43ODMgNS43ODMgMCAwIDEtNS43ODMtNS43ODN2LTM2LjQzNGE1Ljc4MyA1Ljc4MyAwIDAgMSA1Ljc4My01Ljc4M2MzMC45MjggMCA1Ni0yNS4wNzIgNTYtNTZ2LTU2YzAtNDQuMTgzIDM1LjgxNy04MCA4MC04MEg0MjZjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnoiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMzYgMjQ0YzAtNi42MjctNS4zNzMtMTItMTItMTJIMTJjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2MjRjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmgxMTJjNi42MjcgMCAxMi01LjM3MyAxMi0xMnoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImEiPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik01MTIgMEgwdjUxMmg1MTJ6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+"},"displayName":"Split Out","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]}],"categories":[{"id":31,"name":"Content Creation"}],"image":[]}}