## ๐ ๏ธ Tools You Need
โ
**GitHub Account** (you already have this)
โ
**Git installed** on your computer
โ
**Text editor** (VS Code, Notepad++, or any)
โ
**Terminal/Command Prompt**
## ๐ PHASE 1: Fork the Original Repository (GitHub UI)
### Step 1.1 - Open the Original Repo
1. Open your browser
3. You should see the repository page with **4,343 workflow files**
### Step 1.2 - Create the Fork
1. **Find the "Fork" button** (top right corner, next to "Star")
2. **Click "Fork"**
3. You'll see a page that says "Create a new fork"
4. **Leave everything as is:**
- Owner: your-username
- Repository name: `n8n-workflows`
- Description: (optional)
- โ
**Make sure this is checked:** "Copy the main branch only"
5. **Click "Create fork"** (green button)
6. **Wait 10-30 seconds** while GitHub copies everything
### Step 1.3 - Verify Your Fork
- GitHub will redirect you to your new fork
- At the top you'll see: "forked from Zie619/n8n-workflows"
โ
**CHECKPOINT:** You have your own fork of the repo on GitHub
## ๐ PHASE 2: Enable GitHub Actions on Your Fork
### Step 2.1 - Go to Actions Tab
1. On your fork (`github.com/YOUR-USERNAME/n8n-workflows`)
2. **Click "Actions"** (top navigation bar)
3. You'll see a yellow message that says:
> "Workflows aren't being run on this forked repository"
### Step 2.2 - Enable Workflows
1. **Click the green button:** "I understand my workflows, enable them"
2. Page will refresh
3. You should now see: "There are no workflow runs yet"
โ
**CHECKPOINT:** GitHub Actions is enabled on your fork
## ๐ PHASE 3: Clone Your Fork to Your Computer
### Step 3.1 - Copy Your Fork's URL
1. On your fork's main page
2. **Click the green "Code" button**
3. Make sure you're on the "HTTPS" tab
4. **Click the copy icon** ๐ next to the URL
### Step 3.2 - Open Your Terminal
**On Windows:**
- Press `Win + R`
- Type `cmd` and hit Enter
- Or search "Command Prompt" in start menu
**On Mac/Linux:**
- Open "Terminal" from Applications/Utilities
### Step 3.3 - Navigate to Where You Want the Repo
```bash
# Example: if you want it in your documents
cd Documents
# Or on your desktop
cd Desktop
# Or create a specific folder for projects
mkdir GitHub-Projects
cd GitHub-Projects
```
### Step 3.4 - Clone the Repository
```bash
```
**Replace `YOUR-USERNAME` with your actual GitHub username**
You'll see something like:
```
Cloning into 'n8n-workflows'...
remote: Enumerating objects: 8234, done.
remote: Counting objects: 100% (8234/8234), done.
remote: Compressing objects: 100% (4123/4123), done.
Receiving objects: 100% (8234/8234), 12.34 MiB | 5.67 MiB/s, done.
```
### Step 3.5 - Enter the Directory
```bash
cd n8n-workflows
```
### Step 3.6 - Verify It's Cloned
```bash
ls
```
or on Windows:
```bash
dir
```
You should see folders like: `workflows`, `docs`, `src`, etc.
โ
**CHECKPOINT:** You have the repo cloned on your computer
## ๐ PHASE 4: Create the Auto-Sync Workflow
### Step 4.1 - Create the Workflows Folder
From terminal, in the `n8n-workflows` folder:
**Mac/Linux:**
```bash
mkdir -p .github/workflows
```
**Windows (Command Prompt):**
```bash
mkdir .github
cd .github
mkdir workflows
cd ..
```
**Windows (PowerShell):**
```bash
New-Item -ItemType Directory -Path ".github\workflows" -Force
```
### Step 4.2 - Create the Workflow File
**OPTION A - Using VS Code (Recommended):**
```bash
code .github/workflows/sync-upstream.yml
```
**OPTION B - Using Notepad (Windows):**
```bash
notepad .github\workflows\sync-upstream.yml
```
**OPTION C - Using nano (Mac/Linux):**
```bash
nano .github/workflows/sync-upstream.yml
```
**OPTION D - Using any editor:**
1. Open your favorite text editor
2. Create a new file
3. Save it as: `.github/workflows/sync-upstream.yml`
### Step 4.3 - Paste This Code Into the File
```yaml
name: Sync with Upstream
on:
schedule:
# Runs daily at 2am UTC (9pm Puerto Rico time, previous day)
- cron: '0 2 * * *'
workflow_dispatch: # Allows manual execution from GitHub
jobs:
sync:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
token: ${{ secrets.GITHUB_TOKEN }}
fetch-depth: 0
- name: Configure Git
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
- name: Add upstream remote
run: |
git remote -v
- name: Fetch upstream changes
run: |
git fetch upstream
git fetch origin
- name: Merge upstream changes
run: |
git checkout main
git merge upstream/main --no-edit --allow-unrelated-histories || echo "Nothing to merge or conflicts detected"
- name: Push to fork
run: |
git push origin main || echo "Nothing to push"
- name: Show sync status
if: always()
run: |
echo "โ
Sync job completed"
git log --oneline -5
```
### Step 4.4 - Save the File
- **VS Code:** `Ctrl + S` (Windows) or `Cmd + S` (Mac)
- **Notepad:** File โ Save
- **nano:** `Ctrl + X`, then `Y`, then `Enter`
โ
**CHECKPOINT:** Workflow file created
## ๐ PHASE 5: Upload the Workflow to GitHub
### Step 5.1 - Check Your Changes
```bash
git status
```
You should see:
```
Untracked files:
.github/workflows/sync-upstream.yml
```
### Step 5.2 - Add the File
```bash
git add .github/workflows/sync-upstream.yml
```
Or add everything:
```bash
git add .
```
### Step 5.3 - Verify It's Ready to Commit
```bash
git status
```
Now it should say:
```
Changes to be committed:
new file: .github/workflows/sync-upstream.yml
```
### Step 5.4 - Make the Commit
```bash
git commit -m "Add auto-sync workflow with upstream repo"
```
You'll see something like:
```
[main abc1234] Add auto-sync workflow with upstream repo
1 file changed, 45 insertions(+)
create mode 100644 .github/workflows/sync-upstream.yml
```
### Step 5.5 - Push Changes to GitHub
```bash
git push origin main
```
**If it asks for credentials:**
- Username: your-github-username
**If you don't have a token yet:**
2. Click "Generate new token" โ "Generate new token (classic)"
3. Give it a name: "Git CLI Access"
4. Check: `repo` (full control)
5. Click "Generate token"
6. **COPY THE TOKEN** (you won't see it again)
7. Use it as password in the push
โ
**CHECKPOINT:** Workflow uploaded to GitHub
## ๐ PHASE 6: Verify It Works
### Step 6.1 - Go to GitHub Actions
1. Open your fork on GitHub: `github.com/YOUR-USERNAME/n8n-workflows`
2. Click **"Actions"** (top navigation)
3. You should see the workflow: **"Sync with Upstream"**
### Step 6.2 - Run the Workflow Manually (First Time)
1. Click **"Sync with Upstream"** (left panel)
2. You'll see a gray button that says **"This workflow has a workflow_dispatch event trigger"**
3. Click **"Run workflow"** (blue button on the right)
4. A dropdown opens
5. Leave "Branch: main" selected
6. Click **"Run workflow"** (green button)
### Step 6.3 - Watch the Execution
1. Wait 5-10 seconds
2. Refresh the page
3. You'll see a yellow line with the workflow name
4. Click on that line
5. You'll see the "steps" running in real-time:
- โ
Checkout
- โ
Configure Git
- โ
Add upstream remote
- โ
Fetch upstream changes
- โ
Merge upstream changes
- โ
Push to fork
- โ
Show sync status
### Step 6.4 - Verify It Completed
- All steps should have โ
(green check)
- If there's โ (red X), click the step to see the error
โ
**CHECKPOINT:** Workflow executed successfully
## ๐ PHASE 7: Configure Automatic Sync
### Step 7.1 - Verify the Schedule
The workflow is already configured to run:
- **Automatically:** Every day at 2:00 AM UTC
- **Manually:** Whenever you want from GitHub Actions
### Step 7.2 - Adjust Schedule (Optional)
If you want to change when it runs, edit the file:
```yaml
schedule:
- cron: '0 2 * * *' # 2am UTC = 9pm PR (previous day)
```
**Schedule examples:**
```yaml
- cron: '0 14 * * *' # 2pm UTC = 10am PR (daily)
- cron: '0 0 * * 1' # Midnight UTC every Monday
- cron: '0 12 * * *' # Noon UTC = 8am PR (daily)
```
To change:
1. Edit `.github/workflows/sync-upstream.yml` locally
2. Change the cron line
3. `git add .`
4. `git commit -m "Update sync schedule"`
5. `git push origin main`
โ
**CHECKPOINT:** Auto-sync configured
## ๐ฏ FINAL RESULT
You now have:
โ
**Your own fork** of n8n-workflows on GitHub
โ
**Local copy** on your computer
โ
**Automatic daily sync** with the original repo
โ
**Manual control** to force sync whenever you want
### What Happens Now?
**Automatically (without you doing anything):**
- Every day at 2am UTC, GitHub Actions:
1. Checks if Zie619 made changes
2. If there are changes, downloads them
3. Merges them into your fork
4. Pushes them to your GitHub repo
**Manually (whenever you want):**
1. Go to Actions โ Sync with Upstream
2. Click "Run workflow"
3. Wait 1-2 minutes
4. Done! Your fork is updated
### To Update Your Local Copy:
```bash
cd n8n-workflows
git pull origin main
```
## ๐ง Quick Troubleshooting
### Problem: "Permission denied (publickey)"
**Solution:** Use HTTPS instead of SSH
```bash
```
### Problem: Workflow fails with "merge conflict"
**Solution:** This happens if you modified files that Zie619 also changed
```bash
# Option 1: Hard reset (you lose your local changes)
git fetch upstream
git reset --hard upstream/main
git push origin main --force
# Option 2: Resolve manually
git fetch upstream
git merge upstream/main
# Resolve conflicts in the files
git add .
git commit -m "Resolve merge conflicts"
git push origin main
```
### Problem: Don't see "Run workflow" button
**Solution:** Make sure you enabled Actions (Phase 2)
## ๐ Suggested Next Steps
1. **Explore the workflows:**
- Go to `workflows/` folder
- There are 4,343 workflows organized by categories
2. **Import workflows to your n8n:**
- Open n8n on your Hostinger VPS
- Menu โ Import workflow
- Upload any `.json` from the `workflows/` folder
3. **Create your own custom folder:**
```bash
mkdir my-custom-workflows
git add my-custom-workflows
git commit -m "Add custom workflows folder"
git push origin main
```
## โ Things to consider doing NEXT with the help of ChatGPT or Clause.
1. **Set up Git with your GitHub token**
2. **Import specific workflows to your n8n**
3. **Create a notification system for when there are updates**
4. **Organize workflows by categories you're interested in (e.g., Your Company's automation, IG, TikTok, etc.)**