{
  "id": "wnLktAY4pgk79U5K",
  "name": "4 Multi-Platform Social Media Content Distribution with Google Sheets Integration",
  "tags": [],
  "nodes": [
    {
      "id": "19d1640b-f929-4ea2-a8d9-058dc0939dcc",
      "name": "\ud83d\udccb Workflow Overview",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -896,
        0
      ],
      "parameters": {
        "color": 5,
        "width": 304,
        "height": 156,
        "content": "## Trigger & Configuration\n\nDetects new rows added to Google Sheets and sets required configuration values such as platform IDs before routing the post through the workflow.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "e2c0852c-b320-4bf1-bde5-03e708eefbf8",
      "name": "New Row in Content Sheet",
      "type": "n8n-nodes-base.googleSheetsTrigger",
      "position": [
        -896,
        192
      ],
      "parameters": {
        "event": "rowAdded",
        "options": {},
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": ""
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": ""
        }
      },
      "credentials": {
        "googleSheetsTriggerOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "567439b8-6078-4020-a0c6-710bfc06a396",
      "name": "Workflow Configuration",
      "type": "n8n-nodes-base.set",
      "position": [
        -672,
        192
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "id-1",
              "name": "instagramPageId",
              "type": "string",
              "value": "<__PLACEHOLDER_VALUE__Your Instagram Business Account ID__>"
            },
            {
              "id": "id-2",
              "name": "facebookPageId",
              "type": "string",
              "value": "<__PLACEHOLDER_VALUE__Your Facebook Page ID__>"
            }
          ]
        },
        "includeOtherFields": true
      },
      "typeVersion": 3.4
    },
    {
      "id": "ca2cfe6e-3af8-4875-8c73-5db8e1332d06",
      "name": "Check Platform: Instagram",
      "type": "n8n-nodes-base.if",
      "position": [
        -448,
        192
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 3,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "id-1",
              "operator": {
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.Instagram }}",
              "rightValue": "TRUE"
            }
          ]
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "588431d6-63d7-48f9-bdc8-017407cc3bd3",
      "name": "Check Platform: Facebook",
      "type": "n8n-nodes-base.if",
      "position": [
        -80,
        80
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "leftValue": "",
            "caseSensitive": false,
            "typeValidation": "loose"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "id-1",
              "operator": {
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.Facebook }}",
              "rightValue": "TRUE"
            }
          ]
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "03430223-ff05-4223-b8c5-aebb4aa5ec52",
      "name": "Check Platform: LinkedIn",
      "type": "n8n-nodes-base.if",
      "position": [
        144,
        -16
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "leftValue": "",
            "caseSensitive": false,
            "typeValidation": "loose"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "id-1",
              "operator": {
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.LinkedIn }}",
              "rightValue": "TRUE"
            }
          ]
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "1b8aed6b-480d-44bb-964d-a8c9257f99b5",
      "name": "Post to Instagram",
      "type": "n8n-nodes-base.facebookGraphApi",
      "position": [
        -80,
        368
      ],
      "parameters": {
        "edge": "feed",
        "node": "={{ $('Workflow Configuration').first().json.instagramPageId }}",
        "options": {
          "queryParameters": {
            "parameter": [
              {
                "name": "message",
                "value": "={{ $json.Content }}"
              }
            ]
          }
        },
        "httpRequestMethod": "POST"
      },
      "typeVersion": 1
    },
    {
      "id": "cd8c89a5-0820-403a-b668-3ef3be4dce72",
      "name": "Post to Facebook",
      "type": "n8n-nodes-base.facebookGraphApi",
      "position": [
        144,
        176
      ],
      "parameters": {
        "edge": "feed",
        "node": "={{ $('Workflow Configuration').first().json.facebookPageId }}",
        "options": {
          "queryParameters": {
            "parameter": [
              {
                "name": "message",
                "value": "={{ $json.Content }}"
              }
            ]
          }
        },
        "httpRequestMethod": "POST"
      },
      "typeVersion": 1
    },
    {
      "id": "26b22cf7-8a35-4cb1-b5be-d0074df088aa",
      "name": "Post to LinkedIn",
      "type": "n8n-nodes-base.linkedIn",
      "position": [
        368,
        -16
      ],
      "parameters": {
        "text": "={{ $json.Content }}",
        "additionalFields": {}
      },
      "credentials": {
        "linkedInOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "6ebb06ee-f1b6-4971-8080-029ccba03653",
      "name": "Update Status: Instagram",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        144,
        368
      ],
      "parameters": {
        "columns": {
          "value": {
            "Row Number": "={{ $json.row_number }}"
          },
          "schema": [
            {
              "id": "Row Number",
              "type": "string",
              "required": false,
              "displayName": "Row Number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "string",
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": false
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "Row Number"
          ]
        },
        "options": {},
        "operation": "update",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "<__PLACEHOLDER_VALUE__Sheet name from trigger__>"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "<__PLACEHOLDER_VALUE__Document ID from trigger__>"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "4fa7dda2-8ac4-4199-9db9-88997d9aecef",
      "name": "Update Status: Facebook",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        368,
        176
      ],
      "parameters": {
        "columns": {
          "value": {
            "Row Number": "={{ $json.row_number }}"
          },
          "schema": [
            {
              "id": "Row Number",
              "type": "string",
              "required": false,
              "displayName": "Row Number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "string",
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": false
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "Row Number"
          ]
        },
        "options": {},
        "operation": "update",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "<__PLACEHOLDER_VALUE__Sheet name from trigger__>"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "<__PLACEHOLDER_VALUE__Document ID from trigger__>"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "1a8277ac-f1d9-4dda-88a0-9325d147f0e8",
      "name": "Update Status: LinkedIn",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        592,
        -16
      ],
      "parameters": {
        "columns": {
          "value": {
            "Row Number": "={{ $json.row_number }}"
          },
          "schema": [
            {
              "id": "Row Number",
              "type": "string",
              "required": false,
              "displayName": "Row Number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "string",
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": false
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "Row Number"
          ]
        },
        "options": {},
        "operation": "update",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "<__PLACEHOLDER_VALUE__Sheet name from trigger__>"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "<__PLACEHOLDER_VALUE__Document ID from trigger__>"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "520303c4-c037-4ce5-b655-5febcdf5f599",
      "name": "\ud83d\udd2e Future: Image Processing",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -496,
        96
      ],
      "parameters": {
        "color": 3,
        "width": 206,
        "height": 376,
        "content": "## Platform Routing\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nChecks platform flags from the sheet (Instagram, Facebook, LinkedIn) and routes the post only to the platforms marked as TRUE.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "fba262bb-7827-4dc3-af16-07aecaa1d803",
      "name": "\ud83d\udd2e Future: Scheduling",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1488,
        -112
      ],
      "parameters": {
        "width": 494,
        "height": 648,
        "content": "## How it works\n\nThis workflow automatically publishes social media posts using Google Sheets as a lightweight content calendar.  \nEach new row added to the sheet represents one post. Platform-specific flags (Instagram, Facebook, LinkedIn) determine where the content should be published.\n\nWhen a new row is detected, the workflow reads the post content, checks which platforms are enabled, and publishes the post to the selected platforms. After each successful post, the workflow updates the same row in Google Sheets with a status so you can track what has already been published.\n\nThis design keeps content creation simple (Google Sheets) while automation handles distribution and status tracking. No manual posting is required once the row is added.\n\n## Setup steps\n\n1. Create a Google Sheet with columns:  \n   **Content**, **Instagram**, **Facebook**, **LinkedIn**, **Status**\n2. Connect your Google Sheets account in n8n.\n3. Add your Instagram Business Account ID and Facebook Page ID in the **Workflow Configuration** node.\n4. Connect Facebook Graph API and LinkedIn credentials.\n5. Set platform columns to `TRUE` or `FALSE` for each post.\n6. Add a new row to publish automatically.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "7083d703-14da-49b9-8dc2-b600a9a26e52",
      "name": "\ud83d\udd2e Future: Analytics",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -112,
        -192
      ],
      "parameters": {
        "color": 6,
        "width": 590,
        "height": 136,
        "content": "## Publish Posts\n\nPublishes the content text to the selected social media platforms using their respective APIs.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "f5f733cd-e752-4a45-9287-a5a0a0283fa8",
      "name": "\ud83d\udd2e Future: Analytics1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        144,
        560
      ],
      "parameters": {
        "color": 6,
        "width": 606,
        "height": 136,
        "content": "## Update Sheet Status\n\nUpdates the original Google Sheets row after posting, allowing you to track which platforms were successfully published.\n"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "d369c4fa-626a-45c6-b962-a7ebf7447f8b",
  "connections": {
    "Post to Facebook": {
      "main": [
        [
          {
            "node": "Update Status: Facebook",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Post to LinkedIn": {
      "main": [
        [
          {
            "node": "Update Status: LinkedIn",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Post to Instagram": {
      "main": [
        [
          {
            "node": "Update Status: Instagram",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Workflow Configuration": {
      "main": [
        [
          {
            "node": "Check Platform: Instagram",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check Platform: Facebook": {
      "main": [
        [
          {
            "node": "Post to Facebook",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Check Platform: LinkedIn",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check Platform: LinkedIn": {
      "main": [
        [
          {
            "node": "Post to LinkedIn",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "New Row in Content Sheet": {
      "main": [
        [
          {
            "node": "Workflow Configuration",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check Platform: Instagram": {
      "main": [
        [
          {
            "node": "Post to Instagram",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Check Platform: Facebook",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}