This workflow corresponds to n8n.io template #4935 — we link there as the canonical source.
This workflow follows the Chainllm → Google Sheets 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 →
{
"id": "aqVSJsVRHr4lAZVM",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "Mastodon Posting - Amazon und SHLink English",
"tags": [],
"nodes": [
{
"id": "9f4f98cc-df3d-49e5-a371-818bd2c2ef94",
"name": "When clicking \u2018Execute workflow\u2019",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-740,
160
],
"parameters": {},
"typeVersion": 1
},
{
"id": "6cecfaee-3882-488e-9e9c-28fec3a59b6b",
"name": "Mastodon",
"type": "n8n-nodes-the-mastodon.mastodon",
"position": [
440,
140
],
"parameters": {
"status": "={{ $json.text }}\n{{ $('Get Picture').item.json.SHLink }}",
"additionalFields": {
"mediaIds": "={{ $('Picture to Mastodon').item.json.id }}",
"sensitive": false,
"visibility": "public"
}
},
"credentials": {
"mastodonOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "91304e37-f846-45ef-8e77-d3606572c8ba",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-780,
-40
],
"parameters": {
"color": 5,
"width": 1640,
"height": 420,
"content": "## Send Amazon Affiliate to Mastodon\n### Monitor the Links with https://shlink.io/\n"
},
"typeVersion": 1
},
{
"id": "5d58cd9a-be4b-4116-be1a-915c22f37018",
"name": "Google Sheets",
"type": "n8n-nodes-base.googleSheets",
"position": [
-380,
160
],
"parameters": {
"options": {
"returnFirstMatch": true
},
"filtersUI": {
"values": [
{
"lookupValue": "NO",
"lookupColumn": "Send"
}
]
},
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1y2Gt9VyMOt_Pf8DOz1IqQ5x9cDHFTToJvr6qijT1V4g/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1y2Gt9VyMOt_Pf8DOz1IqQ5x9cDHFTToJvr6qijT1V4g",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1y2Gt9VyMOt_Pf8DOz1IqQ5x9cDHFTToJvr6qijT1V4g/edit?usp=drivesdk",
"cachedResultName": "Amazon Affiliate"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 4.6
},
{
"id": "a87e93ae-aed5-4f95-957e-4640721c29be",
"name": "Set Parameter",
"type": "n8n-nodes-base.set",
"notes": "Mastodon Parameters",
"position": [
-560,
160
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "918a80b9-90fc-4f80-a4f5-1c97409e5014",
"name": "mostodon_instance",
"type": "string",
"value": "https://mastodon.social/api/v2/media"
},
{
"id": "5a587f92-815c-4726-81bc-2eaba1f08e0e",
"name": "mastodon_token",
"type": "string",
"value": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
}
]
}
},
"notesInFlow": true,
"typeVersion": 3.4
},
{
"id": "30120e03-e058-4e91-b8a5-c073cb60dbcd",
"name": "Basic LLM Chain",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
-60,
20
],
"parameters": {
"text": "=Create a two-line technical ad copy based on this product page: {{ $json[\"Amazon Link\"] }} suppress \"Here is an ad copy\" in the output!",
"batching": {},
"promptType": "define"
},
"typeVersion": 1.7
},
{
"id": "9323a3cb-7668-448d-8292-652ead0deb8a",
"name": "OpenRouter Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
"position": [
-80,
240
],
"parameters": {
"model": "perplexity/sonar",
"options": {}
},
"credentials": {
"openRouterApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "1c2c5f36-c4df-4c1d-937b-b03839406173",
"name": "Merge",
"type": "n8n-nodes-base.merge",
"position": [
260,
140
],
"parameters": {
"mode": "combine",
"options": {},
"combineBy": "combineByPosition"
},
"typeVersion": 3.2,
"alwaysOutputData": true
},
{
"id": "aaf70202-fdf6-4aee-8956-603b24c25faa",
"name": "Get Picture",
"type": "n8n-nodes-base.httpRequest",
"position": [
-220,
160
],
"parameters": {
"url": "={{ $json.PicURL }}",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "736afabe-8479-46d9-8092-7e3db488b4a7",
"name": "Picture to Mastodon",
"type": "n8n-nodes-base.httpRequest",
"position": [
40,
160
],
"parameters": {
"url": "={{ $('Set Parameter').item.json.mostodon_instance }}",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "multipart-form-data",
"sendHeaders": true,
"bodyParameters": {
"parameters": [
{
"name": "file",
"parameterType": "formBinaryData",
"inputDataFieldName": "data"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "=Bearer {{ $('Set Parameter').item.json.mastodon_token }}"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "faa25555-7a35-45dc-98f2-7c7743bdee7d",
"name": "Google Update",
"type": "n8n-nodes-base.googleSheets",
"position": [
620,
140
],
"parameters": {
"columns": {
"value": {
"Send": "YES",
"SHLink": "={{ $('Google Sheets').item.json.SHLink }}"
},
"schema": [
{
"id": "SHLink",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "SHLink",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Amazon Link",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Amazon Link",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Description",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Description",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "PicURL",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "PicURL",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Send",
"type": "string",
"display": true,
"required": false,
"displayName": "Send",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "row_number",
"type": "string",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "row_number",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"SHLink"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1y2Gt9VyMOt_Pf8DOz1IqQ5x9cDHFTToJvr6qijT1V4g/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1y2Gt9VyMOt_Pf8DOz1IqQ5x9cDHFTToJvr6qijT1V4g",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1y2Gt9VyMOt_Pf8DOz1IqQ5x9cDHFTToJvr6qijT1V4g/edit?usp=drivesdk",
"cachedResultName": "Amazon Affiliate"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 4.6,
"alwaysOutputData": true
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "1862c012-395a-4de2-ab61-6b7ee18154d0",
"connections": {
"Merge": {
"main": [
[
{
"node": "Mastodon",
"type": "main",
"index": 0
}
]
]
},
"Mastodon": {
"main": [
[
{
"node": "Google Update",
"type": "main",
"index": 0
}
]
]
},
"Get Picture": {
"main": [
[
{
"node": "Basic LLM Chain",
"type": "main",
"index": 0
},
{
"node": "Picture to Mastodon",
"type": "main",
"index": 0
}
]
]
},
"Google Sheets": {
"main": [
[
{
"node": "Get Picture",
"type": "main",
"index": 0
}
]
]
},
"Set Parameter": {
"main": [
[
{
"node": "Google Sheets",
"type": "main",
"index": 0
}
]
]
},
"Basic LLM Chain": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 0
}
]
]
},
"Picture to Mastodon": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 1
}
]
]
},
"OpenRouter Chat Model": {
"ai_languageModel": [
[
{
"node": "Basic LLM Chain",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"When clicking \u2018Execute workflow\u2019": {
"main": [
[
{
"node": "Set Parameter",
"type": "main",
"index": 0
}
]
]
}
}
}
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.
googleSheetsOAuth2ApimastodonOAuth2ApiopenRouterApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This n8n workflow automates posting Amazon affiliate products to Mastodon — complete with image upload, description, and a shortened tracking URL using Shlink.
Source: https://n8n.io/workflows/4935/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
This workflow demonstrates a simple way to run evals on a set of test cases stored in a Google Sheet.
Splitout Code. Uses lmChatOpenRouter, outputParserStructured, httpRequest, stickyNote. Event-driven trigger; 11 nodes.
This workflow automates web scraping of Amazon search result pages by retrieving raw HTML, cleaning it to retain only the relevant product elements, and then using an LLM to extract structured product
This template is ideal for B2B founders, solopreneurs, growth marketers, SDRs, or anyone looking to scale their lead generation and enrichment with no-code tools to low-code tools.
Lead Generating Web Scraper & CRM Automation. Uses httpRequest, airtable, googleSheets, gmail. Scheduled trigger; 38 nodes.