The project combined a GHL setup with n8n content rotation, AI-generated images and Facebook publishing. Its fields and workflows followed the client's Capture, Automate, Track, Show Impact and Grow model.
30-second walkthrough of this build
I used the client's five-stage donor model to define the GHL fields, workflows and content steps. This kept the CRM familiar to the team.
The client needed a more consistent posting schedule. The n8n flow reads the content queue, generates an image, adds branding and sends the asset to Facebook.
Google Sheets drives the content calendar so the client can add or reorder posts without touching the workflow itself.
OpenAI generates the base image per post; a custom FastAPI microservice on Render overlays branding before it ever reaches Facebook.
The workflow uses the Facebook Graph API for posting. The team can still check the results in Meta.
The content queue can be edited in Google Sheets, and the workflow logic stays visible in n8n for maintenance.
Redacted screenshots show the n8n canvas, the Facebook Page connection in GHL Social Planner and an example published post.
Mapped to the donor lifecycle so every stage of the Capture→Grow model has a corresponding data point in GHL.
Numbered and documented individually so the client's team can trace exactly what triggers what, without opening the canvas.
Built to the client's brand system for consistent donor-facing communication across the full lifecycle.
Meta restricts Page-to-Page direct messaging by default, which broke part of the intended engagement flow once the client's Page was connected to GHL's Social Planner.
I checked the Page connection and permissions to confirm the Meta restriction before changing the messaging flow. The revised approach stayed within the platform's rules.
This project brought together GHL configuration, an n8n posting workflow and a small FastAPI service for image branding.