# Bidirectional GitHub workflow sync & version control: n8n workflow

> Started by a clock, and works across GitHub. 22 steps, 1 branch: large, and worth reading before you trust it with anything live.

Source: https://millionrounds.com/workflow/bidirectional-github-workflow-sync-and-version-control (Millionrounds; every figure on the page links to its filing or article)

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

# Bidirectional GitHub workflow sync & version control

Started by a clock, and works across GitHub. 22 steps, 1 branch: large, and worth reading before you trust it with anything live.

Large

[Download free](https://millionrounds.com/login?next=%2Fapp%2Fworkflow%2Fbidirectional-github-workflow-sync-and-version-control)

**22 steps** Large: read it before trusting it with anything live

**1** Branch: places the flow splits

**0** Loops or waits

**1** Service it connects to

## The flow

Starts it 1 Logic 9 Service 12

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

- 1 **Schedule Trigger** Schedule trigger *Starts it*
- 2 **Set GitHub Details** Set *Logic*
- 3 **n8n** N8n *Service*
- 4 **List files from repo** Github *Service*
- 5 **n8n vs GitHub** Compare Datasets *Service*
- 6 **Filter** Filter *Logic*
- 7 **Json file** Convert To File *Service*
- 8 **If n8n before GitHub** If *Logic*
- 9 **Create new workflow in n8n** N8n *Service*
- 10 **GitHub** Github *Service*
- 11 **To base64** Extract From File *Service*
- 12 **Code - InputB** Code *Logic*
- 13 **Code - InputA** Code *Logic*
- 14 **Decode to json** Set *Logic*
- 15 **Edit for Upload** Set *Logic*
- 16 **Update workflow in n8n** N8n *Service*
- 17 **Edit Fields** Set *Logic*
- 18 **Upload file** Github *Service*
- 19 **Json file1** Convert To File *Service*
- 20 **To base** Extract From File *Service*
- 21 **Edit for Update** Set *Logic*
- 22 **Update file** Github *Service*

## How it's built

- **Starts on:** A clock
- **Steps:** 22, with 1 branch
- **Size:** Large: read it before trusting it with anything live
- **Connects to:** GitHub
- **Model:** None. This is plumbing, not judgement

## Questions

What does it need to run?

An n8n account, plus your own GitHub account. You connect your own accounts after importing it; none are included.

What starts it?

It starts on a clock.

Does it use AI?

No. Every step is fixed logic or a call to a service, so it does the same thing every time.

How long does it take to set up?

Take your time. At 22 steps it is large: read it before trusting it with anything live.

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 22 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%2Fbidirectional-github-workflow-sync-and-version-control)
- **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.

[GitHub](https://millionrounds.com/workflows?service=GitHub#library)

## Workflows like it

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

- [**Analyze npm packages with Firecrawl and GitHub** 24 steps · calls a model · GitHub, Slack](https://millionrounds.com/workflow/analyze-npm-packages-with-firecrawl-and-github)
- [**Find and track flaky CI jobs in GitHub Actions with OpenAI** 19 steps · calls a model · GitHub, Slack](https://millionrounds.com/workflow/find-and-track-flaky-ci-jobs-in-github-actions-with-openai)
- [**Selectively import workflows** 26 steps · GitHub](https://millionrounds.com/workflow/selectively-import-workflows)
- [**Automatic Typebot flows two-way sync with GitHub** 27 steps · GitHub](https://millionrounds.com/workflow/automatic-typebot-flows-two-way-sync-with-github)
- [**Back up and restore n8n workflows with GitHub** 27 steps · GitHub](https://millionrounds.com/workflow/back-up-and-restore-n8n-workflows-with-github)
- [**Sync staging n8n workflows to GitHub** 16 steps · GitHub](https://millionrounds.com/workflow/sync-staging-n8n-workflows-to-github)
