Automate Instagram Posts from Discord with Facebook Graph API

Streamline your social media posting by automating Instagram posts based on Discord activity using the Facebook Graph API. This workflow enables social media managers to efficiently transfer content shared in Discord to your Instagram account, ensuring timely and relevant posts without manual intervention. Features include real-time synchronization of messages, conditional posting based on your specific criteria, and seamless integration with Facebook's powerful API. Perfect for social media managers handling multiple channels and looking to maintain engagement. Requires 1 account: Facebook Graph API. Save up to 10 hours a week by automating your content scheduling and maintaining a consistent online presence.

1 Trigger
79 views9 nodesSep 2025Michael Davis

APIs

Facebook Graph API

Credentials

1 required

Quick Actions

Copy or download to import into your n8n instance

Workflow JSON
{
  "name": "Discord to Instagram Post",
  "nodes": [
    {
      "id": "schedule_trigger",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -200,
        200
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "minutes",
              "value": 10
            }
          ]
        }
      },
      "typeVersion": 1,
      "alwaysOutputData": true
    },
    {
      "id": "discord_http",
      "name": "Fetch Last Discord Message",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        100,
        200
      ],
      "parameters": {
        "url": "https://discord.com/api/v10/channels/<channelid>/messages",
        "options": {
          "allowUnauthorizedCerts": true
        },
        "sendQuery": true,
        "sendHeaders": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "limit",
              "value": "1"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bot <token>"
            },
            {
              "name": "Accept",
              "value": "application/json"
            }
          ]
        }
      },
      "typeVersion": 4
    },
    {
      "id": "read_json",
      "name": "Read JSON File",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        300,
        200
      ],
      "parameters": {
        "url": "https://<owncloud_url>/remote.php/dav/files/<username>/oyunid.json",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpBasicAuth"
      },
      "credentials": {
        "httpBasicAuth": {
          "id": "<http_cred_id>",
          "name": "OwnCloud Credentials"
        }
      },
      "typeVersion": 4
    },
    {
      "id": "check_id",
      "name": "Check ID",
      "type": "n8n-nodes-base.code",
      "position": [
        500,
        200
      ],
      "parameters": {
        "jsCode": "let previousId = null;\ntry {\n  const jsonContent = $('Read JSON File').first().json;\n  if (jsonContent && jsonContent.last_id) {\n    previousId = String(jsonContent.last_id);\n  }\n} catch (error) {\n  previousId = null;\n}\nreturn [{ json: { last_id: previousId } }];"
      },
      "typeVersion": 2
    },
    {
      "id": "if_new",
      "name": "New Content?",
      "type": "n8n-nodes-base.if",
      "position": [
        700,
        200
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "cond1",
              "operator": {
                "type": "string",
                "operation": "notEquals"
              },
              "leftValue": "={{ $('Fetch Last Discord Message').first().json[0].attachments[0].id }}",
              "rightValue": "={{ $json.last_id }}"
            }
          ]
        }
      },
      "typeVersion": 2
    },
    {
      "id": "if_video",
      "name": "Is Video?",
      "type": "n8n-nodes-base.if",
      "position": [
        900,
        200
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {},
          "combinator": "and",
          "conditions": [
            {
              "id": "cond2",
              "operator": {
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $('Fetch Last Discord Message').first().json[0].attachments[0].content_type }}",
              "rightValue": "video/mp4"
            }
          ]
        }
      },
      "typeVersion": 2
    },
    {
      "id": "upload_video",
      "name": "Upload Instagram Video",
      "type": "n8n-nodes-base.facebookGraphApi",
      "position": [
        1100,
        300
      ],
      "parameters": {
        "edge": "media",
        "node": "<instagram_id>",
        "options": {
          "queryParameters": {
            "parameter": [
              {
                "name": "video_url",
                "value": "={{ $('Fetch Last Discord Message').first().json[0].attachments[0].url }}"
              },
              {
                "name": "media_type",
                "value": "REELS"
              },
              {
                "name": "caption",
                "value": "={{ $('Fetch Last Discord Message').first().json[0].content }}"
              }
            ]
          }
        },
        "graphApiVersion": "v23.0",
        "httpRequestMethod": "POST"
      },
      "credentials": {
        "facebookGraphApi": {
          "id": "<fb_graph_cred_id>",
          "name": "Facebook Graph API"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "upload_image",
      "name": "Upload Instagram Image",
      "type": "n8n-nodes-base.facebookGraphApi",
      "position": [
        1100,
        100
      ],
      "parameters": {
        "edge": "media",
        "node": "<instagram_id>",
        "options": {
          "queryParameters": {
            "parameter": [
              {
                "name": "image_url",
                "value": "={{ $('Fetch Last Discord Message').first().json[0].attachments[0].url }}"
              },
              {
                "name": "caption",
                "value": "={{ $('Fetch Last Discord Message').first().json[0].content }}"
              }
            ]
          }
        },
        "graphApiVersion": "v23.0",
        "httpRequestMethod": "POST"
      },
      "credentials": {
        "facebookGraphApi": {
          "id": "<fb_graph_cred_id>",
          "name": "Facebook Graph API"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "update_json",
      "name": "Update JSON File",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1300,
        200
      ],
      "parameters": {
        "url": "https://<owncloud_url>/remote.php/dav/files/<username>/oyunid.json",
        "method": "PUT",
        "options": {},
        "jsonBody": "={{ JSON.stringify({ last_id: $('Fetch Last Discord Message').first().json[0].attachments[0].id }) }}",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpBasicAuth"
      },
      "credentials": {
        "httpBasicAuth": {
          "id": "<http_cred_id>",
          "name": "OwnCloud Credentials"
        }
      },
      "typeVersion": 4
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "connections": {
    "Check ID": {
      "main": [
        [
          {
            "node": "New Content?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Is Video?": {
      "main": [
        [
          {
            "node": "Upload Instagram Video",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Upload Instagram Image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "New Content?": {
      "main": [
        [
          {
            "node": "Is Video?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Read JSON File": {
      "main": [
        [
          {
            "node": "Check ID",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Fetch Last Discord Message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upload Instagram Image": {
      "main": [
        [
          {
            "node": "Update JSON File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upload Instagram Video": {
      "main": [
        [
          {
            "node": "Update JSON File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch Last Discord Message": {
      "main": [
        [
          {
            "node": "Read JSON File",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Check ID",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Related Workflows

Automate Customer Queries with OpenAI GPT & Serp API Integration

Automate customer queries with an AI assistant powered by OpenAI GPT and Serp API. Use the chat Trigger and memory Buffer Window to provide instant and accurate responses to customer inquiries 24/7. Features include conversation memory for seamless interactions, real-time data processing for updated answers, and automatic filtering to prioritize urgent messages. Perfect for e-commerce businesses handling over 100 daily product inquiries, SaaS support teams, or any customer-facing role that requires fast, reliable answers. Requires 2 accounts: OpenAI API and Serp API. Save up to 5 hours daily by managing unlimited customer conversations with contextual, product-specific answers from your resources.

966,048 views
Personal ProductivityAI Chatbot

Automate WhatsApp Customer Inquiries with OpenAI and Vector Storage

Automate customer inquiries on WhatsApp using an AI assistant powered by OpenAI GPT. By integrating WhatsApp Business API, this workflow enables your AI to respond to customer questions 24/7, enhancing user experience and engagement. Features conversation memory for seamless interactions, vector storage for precise answers, and automatic message processing for real-time responses. Perfect for e-commerce stores with over 50 daily inquiries, SaaS customer success teams, or sales departments requiring instant product information. Requires 3 accounts: WhatsApp Trigger API, OpenAI API, and WhatsApp Business API. Handle unlimited inquiries efficiently, saving up to 5 hours daily with contextual, accurate responses from your product documentation.

378,477 views
Lead NurturingAI Chatbot

Automate Customer Inquiries with OpenAI Chat and HTTP Request

Automate customer inquiries using an AI assistant powered by OpenAI GPT and HTTP Request integration. This workflow enables real-time responses to customer questions, ensuring support is available 24/7. Features include conversation memory for engaging chats, automatic message processing for instant replies, and HTML for rich content rendering. Perfect for e-commerce businesses managing over 100 daily inquiries or SaaS platforms requiring real-time user support. Requires 1 account: OpenAI API. Save 5 hours weekly by handling unlimited customer inquiries with precise, context-aware answers from your product documentation.

330,247 views
Market ResearchAI Summarization

Automate Social Media Content Creation with Google Gemini & OpenAI

Streamline your social media content strategy with an automated workflow using Google Gemini and OpenAI GPT. This solution allows social media managers to generate, schedule, and publish posts across Facebook, Instagram, and LinkedIn seamlessly, saving hours of manual work each week. Features real-time content generation, intelligent scheduling, and integration with Facebook Graph API and Twitter API for effective outreach. Perfect for social media managers handling multiple accounts and needing consistent, engaging content for their audience. Requires 9 accounts: Google Palm API, OpenAI API, Facebook Graph API, and more. Experience up to 70% faster content creation and manage over 30 posts daily with AI-driven insights.

271,776 views
Social MediaMultimodal AI

How to Use This Workflow

1Import to n8n

  1. Copy the JSON using the button above
  2. Open your n8n instance
  3. Click “Import workflow” or press Ctrl+V
  4. Paste the JSON and click “Import”

2Before Running

Configure credentials and update service-specific settings before executing the workflow. Review required credentials in the Technical Details section above.

79