Quick overview
Analyze your own social post measurements from Google Sheets, compare matching formats and measurement windows, and draft five source-backed content experiments with OpenAI. Retrieve the review ZIP from manual n8n execution output and optionally archive it privately. CSV Form delivery is experimental and unconfirmed.
How it works
- Imports one UTF-8 CSV through a signed-in n8n Form, or reads the fixed PostMetrics range from a dedicated Google spreadsheet. V1 uses customer-supplied own-account data; it does not collect Meta Insights.
- Validates identifiers, integer counts, UTC timestamps and cumulative measurement windows. Removes identical duplicate snapshots and excludes conflicting snapshots, deleted posts, invalid rows and publications outside the selected period. Missing metrics remain unknown.
- Separates comparable cohorts by account, platform, format, exact measurement age, distribution and metric definition. Code calculates complete engagement counts, positive-reach engagement rates, weighted cohort rates and medians. Summed per-post reach is explicitly not unique audience reach.
- When enabled and at least three comparable posts exist, sends bounded calculated evidence to pinned OpenAI gpt-4.1-mini for exactly five content experiments.
- Validates the model schema, refusal status and every post/fact citation. Computed observations come from deterministic facts; free text remains an unreviewed hypothesis.
- Builds a ZIP with the performance report, quality exclusions and content plan. Retrieve it from completed n8n Binary output; automatic CSV Form browser delivery is unconfirmed.
- Optional branches verify a private owner-only Drive archive and replace dedicated Google Sheets planning ranges with RAW values. A person reviews the results. Nothing is published.
Setup
- Import demo.json first, run it without credentials and download its real ZIP. Demo measurements and suggestions are synthetic fixtures; no model or account calls occur. Import workflow.json for your own measurements.
- For optional Google integrations, run setup.json once with your Google Sheets and Drive OAuth credentials. Copy its dedicated spreadsheet and private folder IDs into the configuration node of the CSV or Sheets intake branch. Re-running setup creates new resources.
- Prepare the documented PostMetrics headers. Enter UTC timestamps as plain text, cumulative counts at exactly the declared window_hours, one snapshot per account and post, and explicit organic or all distribution. Leave unavailable counts blank instead of substituting zero.
- Set analysisAt, periodStart and periodEnd in UTC. Start with generateIdeas, archiveEnabled and writePlanEnabled false. Bind OpenAI to enable optional text planning, and bind Google OAuth to the optional integration nodes you use.
- For regular operation, use the manual Google Sheets entry and its dedicated PostMetrics tab. Select Download ZIP from manual execution output, locate the data file card in Output and click Download. Inspect exclusions, cohorts and experiments before use. Editor/project access and Google Sheets OAuth are required. CSV Form delivery remains experimental and unconfirmed.
Requirements
- n8n 2.28.6; built-in Code, HTTP Request, Compression, Form Trigger and Form nodes only. Form Trigger 2.6 and completion 2.5. UTF-8 CSV up to two million bytes and one thousand rows, or the documented dedicated Google Sheet. Optional OpenAI gpt-4.1-mini API access and Google Sheets/Drive OAuth; service and hosting costs apply. No Meta credentials or automatic Insights collection. Native localhost mock tests do not prove live provider or n8n Cloud access. Editor/project access is needed for the manual binary-download route. Automatic Form Ending browser download and completion are unconfirmed. The recommended manual Sheets route requires Google Sheets OAuth; the real editor Download control was verified on the synthetic demo only.
Customization
- Choose the publication period, exact analysis timestamp and CSV delimiter; use a dedicated spreadsheet and owner-only private Drive folder. Enable optional text planning, archive and plan mirroring independently. Keep the documented cumulative metric definition and cohort boundaries. V1 pins gpt-4.1-mini, fixed Google API endpoints and exactly five hypotheses. A different data schema, metric definition or model requires code changes and retesting.
Additional info
Blank counts are unknown; zero reach never produces a rate. Engagement requires likes, comments, shares and saves together. Cohort rates use the same complete positive-reach subset, with at least three eligible posts before AI planning. Input evidence above the model size limit skips AI and preserves the deterministic report. All topics are experiments for human review, not causal explanations, revenue forecasts or viral predictions. No social publishing occurs. Customer data is sent to OpenAI only when optional planning is enabled. No paid model calls or real Google mutations were used during package testing. A real signed-in local CSV probe reached the Form Ending, but no automatic download appeared and completion was captured still running. This is not a confirmed Form delivery pass; use the manual Sheets branch and visible editor download. Actual editor ZIP download was verified with the standalone synthetic demo only.