AutomationFlowsAI & RAG › Daily Camerit Social Auto-poster

Daily Camerit Social Auto-poster

Daily Camerit Social Auto-Poster. Uses openai, httpRequest, googleSheets. Scheduled trigger; 16 nodes.

Cron / scheduled trigger★★★★☆ complexityAI-powered16 nodesOpenAIHTTP RequestGoogle Sheets
AI & RAG Trigger: Cron / scheduled Nodes: 16 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow follows the Google Sheets → HTTP Request recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "name": "Daily Camerit Social Auto-Poster",
  "active": false,
  "settings": {},
  "tags": [],
  "nodes": [
    {
      "id": "Cron",
      "name": "Cron",
      "type": "n8n-nodes-base.cron",
      "typeVersion": 1,
      "parameters": {
        "triggerTimes": [
          {
            "mode": "everyDay",
            "hour": 9,
            "minute": 0,
            "second": 0,
            "timezone": "Africa/Cairo"
          }
        ]
      }
    },
    {
      "id": "SetDate",
      "name": "SetDate",
      "type": "n8n-nodes-base.function",
      "typeVersion": 1,
      "parameters": {
        "functionCode": "item.today = new Date().toLocaleDateString('en-GB',{weekday:'long',month:'long',day:'numeric',year:'numeric'}); return item;"
      }
    },
    {
      "id": "GPT",
      "name": "GPT",
      "type": "n8n-nodes-base.openai",
      "typeVersion": 2,
      "parameters": {
        "model": "gpt-4o-mini",
        "temperature": 0.7,
        "maxTokens": 512,
        "messagesUi": {
          "messageValues": [
            {
              "role": "system",
              "text": "You are Camerit's social copy assistant."
            },
            {
              "role": "user",
              "text": "Generate JSON keys twitter, facebook, instagram, linkedin, image_prompt. Twitter \u2264270 chars (no hashtags). Instagram \u226420 hashtags. LinkedIn \u22641200 chars. Theme {{ $json.today }}."
            }
          ]
        }
      },
      "credentials": {
        "openAIApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "id": "Sanity",
      "name": "Sanity",
      "type": "n8n-nodes-base.function",
      "typeVersion": 1,
      "parameters": {
        "functionCode": "// trim twitter etc.\nconst d=JSON.parse(items[0].json.choices[0].message.content);\nif(d.twitter.length>280)d.twitter=d.twitter.slice(0,277)+'\u2026';\nitems[0].json.data=d;return items;"
      }
    },
    {
      "id": "Dalle",
      "name": "Dalle",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 3,
      "parameters": {
        "url": "https://api.openai.com/v1/images/generations",
        "method": "POST",
        "sendBody": true,
        "jsonParameters": true,
        "bodyParametersJson": "={\"model\":\"dall-e-3\",\"prompt\":\"{{$json.data.image_prompt}} white background top-right free for logo\",\"size\":\"1024x1024\",\"n\":1}"
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      }
    },
    {
      "id": "Download",
      "name": "Download",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 3,
      "parameters": {
        "url": "={{$json.data[0].url}}",
        "responseFormat": "file"
      }
    },
    {
      "id": "Logo",
      "name": "Logo",
      "type": "n8n-nodes-base.function",
      "typeVersion": 1,
      "parameters": {
        "functionCode": "const Jimp=require('jimp');\nasync function run(){const logo=await Jimp.read($env.LOGO_URL);const img=await Jimp.read(items[0].binary.data);logo.resize(img.bitmap.width*0.18,Jimp.AUTO);img.composite(logo,img.bitmap.width-logo.bitmap.width-20,20);items[0].binary.data=await img.getBufferAsync(Jimp.MIME_JPEG);return items;}return run();"
      }
    },
    {
      "id": "XUpload",
      "name": "XUpload",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 3,
      "parameters": {
        "url": "https://api.twitter.com/2/media/upload",
        "method": "POST",
        "sendBinaryData": true,
        "binaryPropertyName": "data",
        "headerParametersJson": "{\"Authorization\":\"Bearer {{$env.X_BEARER_TOKEN}}\",\"Content-Type\":\"application/octet-stream\"}"
      }
    },
    {
      "id": "XPost",
      "name": "XPost",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 3,
      "parameters": {
        "url": "https://api.twitter.com/2/tweets",
        "method": "POST",
        "sendBody": true,
        "jsonParameters": true,
        "headerParametersJson": "{\"Authorization\":\"Bearer {{$env.X_BEARER_TOKEN}}\"}",
        "bodyParametersJson": "={\"text\":\"{{$json.data.twitter}}\",\"media\":{\"media_ids\":[\"{{$node[\\\"XUpload\\\"].json.media_id}}\"]}}"
      }
    },
    {
      "id": "FBPost",
      "name": "FBPost",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 3,
      "parameters": {
        "url": "https://graph.facebook.com/v19.0/{{$env.FB_PAGE_ID}}/photos",
        "method": "POST",
        "sendBinaryData": true,
        "binaryPropertyName": "data",
        "jsonParameters": true,
        "bodyParametersJson": "={\"caption\":\"{{$json.data.facebook}}\",\"published\":true,\"access_token\":\"{{$env.FB_ACCESS_TOKEN}}\"}"
      }
    },
    {
      "id": "IGCreate",
      "name": "IGCreate",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 3,
      "parameters": {
        "url": "https://graph.facebook.com/v19.0/{{$env.IG_USER_ID}}/media",
        "method": "POST",
        "jsonParameters": true,
        "bodyParametersJson": "={\"image_url\":\"https://example.com/tmp/{{ $json.today | replace(':','-') }}.jpg\",\"caption\":\"{{$json.data.instagram}}\",\"access_token\":\"{{$env.IG_ACCESS_TOKEN}}\"}"
      }
    },
    {
      "id": "IGPublish",
      "name": "IGPublish",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 3,
      "parameters": {
        "url": "https://graph.facebook.com/v19.0/{{$json.id}}/publish",
        "method": "POST",
        "jsonParameters": true,
        "bodyParametersJson": "={\"access_token\":\"{{$env.IG_ACCESS_TOKEN}}\"}"
      }
    },
    {
      "id": "LIInit",
      "name": "LIInit",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 3,
      "parameters": {
        "url": "https://api.linkedin.com/rest/images?action=initializeUpload",
        "method": "POST",
        "jsonParameters": true,
        "bodyParametersJson": "={\"initializeUploadRequest\":{\"owner\":\"urn:li:organization:{{$env.LINKEDIN_ORG_ID}}\",\"recipes\":[\"urn:li:digitalmediaRecipe:feedshare-image\"],\"serviceRelationships\":[{\"identifier\":\"urn:li:userGeneratedContent\",\"relationshipType\":\"OWNER\"}]}}"
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      }
    },
    {
      "id": "LIUpload",
      "name": "LIUpload",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 3,
      "parameters": {
        "url": "={{$node[\"LIInit\"].json.value.uploadMechanism['com.linkedin.digitalmedia.uploading.MediaUploadHttpRequest'].uploadUrl}}",
        "method": "PUT",
        "sendBinaryData": true,
        "binaryPropertyName": "data",
        "headerParametersJson": "{\"Authorization\":\"Bearer {{$env.LINKEDIN_ACCESS_TOKEN}}\",\"Content-Type\":\"application/octet-stream\"}"
      }
    },
    {
      "id": "LICreate",
      "name": "LICreate",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 3,
      "parameters": {
        "url": "https://api.linkedin.com/rest/posts",
        "method": "POST",
        "jsonParameters": true,
        "bodyParametersJson": "={\"owner\":\"urn:li:organization:{{$env.LINKEDIN_ORG_ID}}\",\"lifecycleState\":\"PUBLISHED\",\"specificContent\":{\"com.linkedin.ugc.ShareContent\":{\"shareCommentary\":{\"text\":\"{{$json.data.linkedin}}\"},\"shareMediaCategory\":\"IMAGE\",\"media\":[{\"status\":\"READY\",\"media\":\"{{$node[\\\"LIInit\\\"].json.value.asset}}\"}]}},\"visibility\":{\"com.linkedin.ugc.MemberNetworkVisibility\":\"PUBLIC\"}}"
      }
    },
    {
      "id": "Sheet",
      "name": "Sheet",
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 3,
      "parameters": {
        "sheetId": "your-sheet-id",
        "range": "Logs!A1",
        "valueInputMode": "USER_ENTERED"
      },
      "credentials": {
        "googleSheetsOAuth2Api": "<your credential>"
      }
    }
  ],
  "connections": {
    "Cron": {
      "main": [
        [
          {
            "node": "SetDate",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "SetDate": {
      "main": [
        [
          {
            "node": "GPT",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "GPT": {
      "main": [
        [
          {
            "node": "Sanity",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Sanity": {
      "main": [
        [
          {
            "node": "Dalle",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Dalle": {
      "main": [
        [
          {
            "node": "Download",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download": {
      "main": [
        [
          {
            "node": "Logo",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Logo": {
      "main": [
        [
          [
            {
              "node": "XUpload",
              "type": "main",
              "index": 0
            }
          ]
        ],
        [
          [
            {
              "node": "FBPost",
              "type": "main",
              "index": 0
            }
          ]
        ],
        [
          [
            {
              "node": "IGCreate",
              "type": "main",
              "index": 0
            }
          ]
        ],
        [
          [
            {
              "node": "LIInit",
              "type": "main",
              "index": 0
            }
          ]
        ]
      ]
    },
    "XUpload": {
      "main": [
        [
          {
            "node": "XPost",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "XPost": {
      "main": [
        [
          {
            "node": "Sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "FBPost": {
      "main": [
        [
          {
            "node": "Sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "IGCreate": {
      "main": [
        [
          {
            "node": "IGPublish",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "IGPublish": {
      "main": [
        [
          {
            "node": "Sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "LIInit": {
      "main": [
        [
          {
            "node": "LIUpload",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "LIUpload": {
      "main": [
        [
          {
            "node": "LICreate",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "LICreate": {
      "main": [
        [
          {
            "node": "Sheet",
            "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.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Daily Camerit Social Auto-Poster. Uses openai, httpRequest, googleSheets. Scheduled trigger; 16 nodes.

Source: https://gist.github.com/mdabees/ca54fc92a8ba4945447e15e53529ef5e — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

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

AI & RAG

Generador y Publicador de Shorts. Uses googleSheets, openai, httpRequest. Scheduled trigger; 8 nodes.

Google Sheets, OpenAI, HTTP Request
AI & RAG

AI Institutional Stock Valuation Engine with Risk Scoring & Scenario Targets

Google Sheets, XML, HTTP Request +3
AI & RAG

Overview This is a production-grade, fully automated stock analysis system built entirely in n8n. It combines institutional-level financial analysis, dual AI model consensus, and a self-improving back

Google Sheets, XML, HTTP Request +3
AI & RAG

This workflow is a complete outbound automation system that discovers local businesses, extracts contact emails, generates personalized cold emails using AI, and runs a multi-step follow-up sequence —

Stop And Error, Google Sheets, HTTP Request +2
AI & RAG

This automation is a complete end-to-end system designed to find, qualify, and contact B2B leads — fully automated and powered by AI. Searches for target companies on LinkedIn via Ghost Genius API, us

Google Sheets, HTTP Request, OpenAI +1