# Promote calendar events with OpenAI and Facebook: n8n workflow

> Started by an event in a connected app, and works across Google Sheets, LinkedIn, Telegram and X. It hands the judgement calls to OpenAI.

Source: https://millionrounds.com/workflow/promote-calendar-events-with-openai-and-facebook (Millionrounds; every figure on the page links to its filing or article)

[Automation library](https://millionrounds.com/workflows) · [Scheduling](https://millionrounds.com/workflows?category=Scheduling#library)

# Promote calendar events with OpenAI and Facebook

Started by an event in a connected app, and works across Google Sheets, LinkedIn, Telegram and X. It hands the judgement calls to OpenAI. 18 steps, 1 branch, 2 loops or waits: a working afternoon to understand properly.

Medium Calls a model: OpenAI

[Download free](https://millionrounds.com/login?next=%2Fapp%2Fworkflow%2Fpromote-calendar-events-with-openai-and-facebook)

**18 steps** Medium: a working afternoon

**1** Branch: places the flow splits

**2** Loops or waits

**4** Services it connects to

## The flow

Starts it 1 Model 1 Logic 8 Service 8

The steps in the order they run, from what starts it.

- 1 **Google Calendar, New Event Trigger** Google Calendar trigger *Starts it*
- 2 **Code, Parse & Enrich Event Data** Code *Logic*
- 3 **IF, Event Has Enough Lead Time (2h+)** If *Logic*
- 4 **HTTP, Fetch Base Banner Template** Http Request *Service*
- 5 **Edit Image, Compose Event Promo Graphic** Edit Image *Service*
- 6 **Upload a File** Upload To Url *Service*
- 7 **DateTime, Parse Event Start Time** Date Time *Logic*
- 8 **Code, Build 3 Schedule Slots** Code *Logic*
- 9 **Loop Over Items, Each Schedule Slot** Split In Batches *Logic*
- 10 **Wait, Until Scheduled Post Time** Wait *Logic*
- 11 **OpenAI, Generate Time-Aware Captions** Open Ai *Model*
- 12 **Code, Parse Captions with Fallback** Code *Logic*
- 13 **Google Sheets, Append Post Log Row** Google Sheets *Service*
- 14 **LinkedIn, Publish Event Post** Linked In *Service*
- 15 **Twitter/X, Publish Event Tweet** Twitter *Service*
- 16 **Facebook, Publish Event Photo Post** Http Request *Service*
- 17 **Merge, Collect All Platform Results** Merge *Logic*
- 18 **Telegram, Notify Admin of Post Dispatch** Telegram *Service*

## How it's built

- **Starts on:** An event in a connected app
- **Steps:** 18, with 1 branch, 2 loops or waits
- **Size:** Medium: a working afternoon
- **Connects to:** Google Sheets, LinkedIn, Telegram, X
- **Model:** OpenAI

## Questions

What does it need to run?

An n8n account, plus your own Google Sheets, LinkedIn, Telegram and X accounts, and a key for OpenAI. You connect your own accounts after importing it; none are included.

What starts it?

It starts on an event in a connected app.

Does it use AI?

Yes. It calls OpenAI. Model calls are billed by the provider, not by n8n.

How long does it take to set up?

Plan an afternoon. 18 steps is enough that you should read each one before running it.

How do I import it?

Copy the workflow, open a new workflow in n8n and paste. The steps appear on the canvas, ready for your own accounts.

**Before you run it**

Nothing here has been tested by us. It is somebody's working automation, read and described from its own steps. Treat the connections it wants as a list of accounts it will touch, and read the 18 steps before you point it at anything that matters.

## Run it in n8n

- **Create your n8n account** Free to start. n8n is where the workflow runs. [Create an n8n account ↗](https://millionrounds.com/n8n)
- **Download the workflow** Free with a Millionrounds account. [Download free](https://millionrounds.com/login?next=%2Fapp%2Fworkflow%2Fpromote-calendar-events-with-openai-and-facebook)
- **Paste it into n8n** Open a new workflow in n8n and paste. Then connect your own accounts.

Stored with the author's traces removed: canvas notes, instance identifiers, saved credential names and any live document they had left behind.

## Connects to

Each opens the other workflows that use it.

[Google Sheets](https://millionrounds.com/workflows?service=Google+Sheets#library)[LinkedIn](https://millionrounds.com/workflows?service=LinkedIn#library)[Telegram](https://millionrounds.com/workflows?service=Telegram#library)[X](https://millionrounds.com/workflows?service=X#library)

## Workflows like it

Also scheduling, with the same services where possible, closest in size first.

- [**Automate post-meeting tasks with Fireflies and OpenAI** 18 steps · calls a model · Gmail, Telegram](https://millionrounds.com/workflow/automate-post-meeting-tasks-with-fireflies-and-openai)
- [**Create and schedule LinkedIn posts from Google Sheets** 18 steps · calls a model · Google Sheets](https://millionrounds.com/workflow/create-and-schedule-linkedin-posts-from-google-sheets)
- [**Handle real estate SMS inquiries with Twilio and Google Sheets** 18 steps · calls a model · Google Calendar, Google Sheets](https://millionrounds.com/workflow/handle-real-estate-sms-inquiries-with-twilio-and-google-shee)
- [**Instagram insights & AI content calendar generator with Gemini** 18 steps · calls a model · Gmail, Google Sheets](https://millionrounds.com/workflow/instagram-insights-and-ai-content-calendar-generator-with-ge)
- [**Manage Telegram task reminders with Claude** 18 steps · calls a model · Telegram](https://millionrounds.com/workflow/manage-telegram-task-reminders-with-claude)
- [**Manage tasks & send scheduled reminders with Telegram Bot** 18 steps · calls a model · Google Sheets, Telegram](https://millionrounds.com/workflow/manage-tasks-and-send-scheduled-reminders-with-telegram-bot)
