Write Personalised Direct Messages for Instagram with Apify, OpenAI, GSheets

Go to Workflow
0 views
Built by Michael Muenzer Michael Muenzer
Created on June 05, 2026

Description

This workflow contains community nodes that are only compatible with the self-hosted version of n8n.

Fetch Instagram profile information with Apify and generate personalized DMs in Google Sheets. This is great for creator outreach, customer interviews, partnership prospecting, and streamlining your social Direct Messaging workflow. Saving hours per campaign or research study.

How it works
We read a list of Instagram accounts from a Google Sheet
We trigger the Apify Instagram Post Scraper task to fetch the latest post data per account
We pull the image URL of the newest post and analyze it with OpenAI Vision
We use the analysis plus account metadata to generate a personalized DM
We write the message back to the Google Sheet for easy sending and tracking

Note: Both Apify and OpenAI provide free credits that can cover initial runs of this workflow (20.08.2025).

Set up steps
Copy Google Sheet template and add it in all Google Sheet nodes
Make sure that n8n has read & write permissions for your Google sheet.
Add your list of Instagram accounts in the first column in the Google sheet
Add Apify credentials (e.g. API key)
Create task for Instagram Post Scraper on Apify
Add OpenAI API credentials

What you can achieve
How do I scale creator outreach while keeping messages personal?
This workflow pulls each profile’s latest post and bio, then generates a DM that references those specifics. One consistent prompt, fresh data per profile. Personal at scale.

How do I craft partnership or affiliate pitches that feel tailored to the creator’s audience?
This n8n workflow spots niche, recent themes, and milestones, then inserts a targeted value prop like an affiliate code or UTM so the pitch mirrors their content and audience.

How can I personalize interview invites using details from a recent post or bio?
This workflow opens with a concrete reference from the newest post or bio, states your interview topic, and adds a short CTA. If there’s no recent post, it switches to a bio-based hook.

How do I personalize at scale for thousands of profiles without duplicating outreach?
This n8n workflow processes each handle once, logs status in Google Sheets, and skips already‑messaged rows, so you get unique, data-backed DMs across hundreds of profiles without repeats.

Nodes Used (3)

Google Sheets
n8n-nodes-base.googleSheets
HTTP Request
n8n-nodes-base.httpRequest
OpenAI
@n8n/n8n-nodes-langchain.openAi