This workflow follows the Facebookgraphapi → 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 →
{
"meta": {
"created": "2026-02-13T08:37:00Z",
"version": "2.0"
},
"name": "Security Scanner - Social Media Auto-Poster (Full)",
"description": "\u81ea\u52d5\u767c\u5e03\u5230 Twitter\u3001Facebook\u3001Threads",
"active": false,
"nodes": [
{
"parameters": {
"rule": {
"interval": {
"hours": 24,
"minutes": 0
}
},
"triggerAt": {
"hour": 9,
"minute": 0
}
},
"id": "node_schedule",
"name": "Schedule Trigger",
"type": "n8n-nodes-base.scheduleTrigger",
"typeVersion": 1.2,
"position": [
100,
300
]
},
{
"parameters": {
"functionCode": "// \u751f\u6210\u96a8\u6a5f\u5ba3\u50b3\u5167\u5bb9\nconst posts = [\n {\n content: \"\ud83d\udd12 AI Skill Security Scanner v1.0 \u4e0a\u7dda\uff01\\n\\n\u2705 \u6383\u63cf API Key \u6d29\u6f0f\\n\u2705 \u5075\u6e2c\u60e1\u610f\u7a0b\u5f0f\u78bc\\n\u2705 \u6b0a\u9650\u98a8\u96aa\u8a55\u4f30\\n\\n\ud83d\udcb0 \u500b\u4eba\u7248 $49 | \u4f01\u696d\u7248 $499/\u5e74\\n\ud83d\udcde @singularity_capital_bot\\n\\n#AI #\u8cc7\u5b89 #\u7a0b\u5f0f\u958b\u767c\",\n url: \"https://github.com/andycywu/security-scanner\"\n },\n {\n content: \"\ud83d\udca1 \u4f60\u5beb\u7684 AI Skill \u5b89\u5168\u55ce\uff1f\\n\\nSecurity Scanner \u5e6b\u4f60\u81ea\u52d5\u6383\u63cf\uff01\\n\ud83d\udd0d \u627e\u51fa\u96b1\u85cf\u7684\u5b89\u5168\u6f0f\u6d1e\\n\ud83d\udee1\ufe0f \u4fdd\u8b77\u4f60\u7684 API Keys\\n\\n#AI #\u8cc7\u8a0a\u5b89\u5168 #\u958b\u767c\",\n url: \"https://github.com/andycywu/security-scanner\"\n },\n {\n content: \"\ud83d\ude80 \u544a\u5225\u624b\u52d5\u6aa2\u67e5\u7a0b\u5f0f\u78bc\uff01\\n\\nSecurity Scanner \u81ea\u52d5\u6383\u63cf\uff1a\\n\u2022 API Key \u6d29\u6f0f\\n\u2022 \u5371\u96aa\u7a0b\u5f0f\u78bc\u6a21\u5f0f\\n\u2022 \u6b0a\u9650\u98a8\u96aa\\n\\n\u53ea\u8981 $49\uff0c\u4fdd\u8b77\u4f60\u7684 AI Apps\uff01\\n\\n#\u81ea\u52d5\u5316 #\u8cc7\u5b89 #AI\",\n url: \"https://github.com/andycywu/security-scanner\"\n },\n {\n content: \"\ud83d\udd10 \u958b\u767c AI Skills \u6700\u6015\u4ec0\u9ebc\uff1f\\n\\n\u274c API Key \u4e0d\u5c0f\u5fc3 commit \u4e0a\u53bb\\n\u274c \u60e1\u610f\u7a0b\u5f0f\u78bc\u6df7\u5165\\n\u274c \u6b0a\u9650\u8a2d\u5b9a\u6709\u6f0f\u6d1e\\n\\n\u2705 Security Scanner \u5e6b\u4f60\u628a\u95dc\uff01\\n\\n\u7acb\u5373\u8a66\u7528 \u2192 #AI #DevSecOps\",\n url: \"https://github.com/andycywu/security-scanner\"\n }\n];\n\nconst today = new Date();\nconst dayOfYear = Math.floor((today - new Date(today.getFullYear(), 0, 0)) / 1000 / 60 / 60 / 24);\nconst selectedPost = posts[dayOfYear % posts.length];\n\nreturn [{\n json: selectedPost\n}];\n"
},
"id": "node_content_generator",
"name": "Content Generator",
"type": "n8n-nodes-base.function",
"typeVersion": 1,
"position": [
250,
300
]
},
{
"parameters": {
"text": "={{ $json.content }}",
"additionalFields": {}
},
"id": "node_twitter",
"name": "Twitter/X",
"type": "n8n-nodes-base.twitter",
"typeVersion": 1.4,
"position": [
450,
150
],
"credentials": {
"twitterOAuth2Api": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"text": "={{ $json.content }}",
"pageId": {
"__rl": true,
"value": "PAGE_ID",
"mode": "list"
}
},
"id": "node_facebook",
"name": "Facebook",
"type": "n8n-nodes-base.facebookGraphApi",
"typeVersion": 1.2,
"position": [
450,
300
],
"credentials": {
"facebookGraphApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"method": "POST",
"url": "https://graph.threads.net/v1.0/me/threads",
"authentication": "genericCredentialType",
"genericAuthType": "oAuth2Api",
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "Content-Type",
"value": "application/json"
}
]
},
"sendBody": true,
"specifyBody": "json",
"jsonBody": "={{ { \"media_type\": \"TEXT\", \"text\": $json.content } }}",
"options": {}
},
"id": "node_threads",
"name": "Threads",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
450,
450
],
"credentials": {
"oAuth2Api": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"chatId": "1408472778",
"text": "={{ '\u2705 \u81ea\u52d5\u5316\u63a8\u6587\u5df2\u767c\u5e03\uff01\\n\\n\ud83d\udcc5 ' + $now.toFormat('yyyy-MM-dd HH:mm') + '\\n\\n\ud83d\udc26 Twitter: \u2705\\n\ud83d\udcd8 Facebook: \u2705\\n\ud83e\uddf5 Threads: \u2705\\n\\n\ud83d\udd17 https://github.com/andycywu/security-scanner' }}",
"additionalFields": {}
},
"id": "node_telegram",
"name": "Telegram Notification",
"type": "n8n-nodes-base.telegram",
"typeVersion": 1.6,
"position": [
650,
300
],
"credentials": {
"telegramApi": {
"name": "<your credential>"
}
}
}
],
"connections": {
"Schedule Trigger": {
"main": [
[
{
"node": "Content Generator",
"type": "main",
"index": 0
}
]
]
},
"Content Generator": {
"main": [
[
{
"node": "Twitter/X",
"type": "main",
"index": 0
},
{
"node": "Facebook",
"type": "main",
"index": 0
},
{
"node": "Threads",
"type": "main",
"index": 0
}
]
]
},
"Twitter/X": {
"main": [
[
{
"node": "Telegram Notification",
"type": "main",
"index": 0
}
]
]
},
"Facebook": {
"main": [
[
{
"node": "Telegram Notification",
"type": "main",
"index": 0
}
]
]
},
"Threads": {
"main": [
[
{
"node": "Telegram Notification",
"type": "main",
"index": 0
}
]
]
}
},
"settings": {
"executionOrder": "v1"
}
}
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.
facebookGraphApioAuth2ApitelegramApitwitterOAuth2Api
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Security Scanner - Social Media Auto-Poster (Full). Uses twitter, facebookGraphApi, httpRequest, telegram. Scheduled trigger; 6 nodes.
Source: https://github.com/andycywu/security-scanner/blob/44eb63438b62acfacaaaef7084ff88264291cf59/n8n-workflows/social-posting-full.json — 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 n8n workflow automatically shares content from a Telegram Channel to multiple platforms like WordPress, Facebook, X/Twitter, and LinkedIn. It uses a Switch node to detect the type of content—text
This n8n workflow is designed for content curators, digital marketers, and social media managers who want to automate the process of discovering, translating, and publishing news content from multiple
Symcio · Daily Brand Valuation Broadcast. Uses httpRequest, linkedIn, twitter, facebookGraphApi. Scheduled trigger; 8 nodes.
Security Scanner - Social Media Auto-Poster. Uses twitter, facebookGraphApi, telegram. Scheduled trigger; 5 nodes.
✨🩷Automated Social Media Content Publishing Factory + System Prompt Composition. Uses chatTrigger, stickyNote, toolWorkflow, memoryBufferWindow. Chat trigger; 100 nodes.