Scheduled LinkedIn Posting Guide
This guide explains how to schedule posts to publish automatically at 8am ET on specific dates.
How It Works
The automated scheduling system:
- You write a post with a future date in
_scheduled-posts/ - GitHub Actions runs daily at 8am ET
- Script checks all posts in
_scheduled-posts/ - Posts with dates ≤ today are published to LinkedIn
- Published posts are moved to
_posts/for Jekyll to display
Creating a Scheduled Post
Step 1: Write Your Post
Create a markdown file in _scheduled-posts/:
_scheduled-posts/2025-11-15-my-future-post.md
Step 2: Set the Date/Time
In your frontmatter, set the date field to when you want it published:
---
layout: post
author: lina
title: "My Scheduled Post"
date: 2025-11-15 08:00:00 -0500
categories: data-science
---
Your content here...
Important:
- Date format:
YYYY-MM-DD HH:MM:SS -0500 - Time should be
08:00:00(8am) for consistency - Include
-0500for Eastern Time - Posts publish when current time ≥ scheduled time
Step 3: Commit and Push
git add _scheduled-posts/2025-11-15-my-future-post.md
git commit -m "Schedule post for Nov 15"
git push
That’s it! The post will automatically publish at 8am ET on the scheduled date.
What Happens on Publish Day
At 8am ET every day, GitHub Actions:
- ✅ Checks all posts in
_scheduled-posts/ - ✅ Identifies posts with
date ≤ current date/time - ✅ Uploads images to LinkedIn
- ✅ Posts to LinkedIn with formatting and hashtags
- ✅ Moves the post file from
_scheduled-posts/to_posts/ - ✅ Commits the change back to GitHub
- ✅ Jekyll rebuilds and deploys your site
Result: Your post appears on both LinkedIn and your website at 8am ET!
Checking Scheduled Posts
To see what’s scheduled:
ls -la _scheduled-posts/
Or view on GitHub:
https://github.com/YOUR_USERNAME/lfaller.github.io/tree/main/_scheduled-posts
Manual Publishing
You can also manually trigger the scheduler:
- Go to GitHub Actions tab
- Select “Scheduled LinkedIn Posts” workflow
- Click “Run workflow”
- Click “Run workflow” button
This will immediately check and publish any posts that are due.
Time Zone Notes
All times are in Eastern Time (ET):
- EST (Standard): UTC-5 (November - March)
- EDT (Daylight): UTC-4 (March - November)
The script automatically handles daylight saving time transitions.
Scheduling at 8am ET:
date: 2025-11-15 08:00:00 -0500 # 8am ET (Standard Time)
Examples
Example 1: Schedule for Next Week
---
layout: post
author: lina
title: "Q4 Data Insights"
date: 2025-11-15 08:00:00 -0500
categories: data-science analytics
---
Here are the key trends we've observed...
<!-- #DataAnalytics #BusinessIntelligence -->
Save as: _scheduled-posts/2025-11-15-q4-data-insights.md
Result: Posts to LinkedIn on Nov 15 at 8am ET, then appears on website.
Example 2: Schedule Multiple Posts
You can schedule as many posts as you want:
_scheduled-posts/
├── 2025-11-15-post-one.md
├── 2025-11-18-post-two.md
├── 2025-11-22-post-three.md
└── 2025-12-01-december-post.md
Each will publish on its scheduled date.
Example 3: Post with Image
---
layout: post
author: lina
title: "Visualization Best Practices"
date: 2025-11-20 08:00:00 -0500
categories: data-visualization
---
Check out these **data visualization** tips:

- Use clear labels
- Choose appropriate chart types
- Maintain consistency
<!-- #DataViz #Charts #Analytics -->
Image will be uploaded to LinkedIn when the post publishes!
Editing Scheduled Posts
You can edit scheduled posts anytime before they publish:
- Edit the file in
_scheduled-posts/ - Commit and push changes
- Changes will be included when the post publishes
Canceling a Scheduled Post
To cancel a scheduled post:
- Delete the file from
_scheduled-posts/ - Commit and push
The post will never publish.
Moving a Scheduled Post to Immediate
To publish a scheduled post immediately:
Option A: Change the date
date: 2025-11-08 08:00:00 -0500 # Set to today or earlier
Push changes, then manually trigger the workflow.
Option B: Publish manually
# Move to _posts manually
mv _scheduled-posts/2025-11-15-my-post.md _posts/
# Publish to LinkedIn manually
cd scripts
source venv/bin/activate
python linkedin_post.py ../_posts/2025-11-15-my-post.md
# Commit
git add -A
git commit -m "Publish post immediately"
git push
Troubleshooting
Post didn’t publish on schedule
Check:
- Date format is correct:
YYYY-MM-DD HH:MM:SS -0500 - Date is today or earlier
- GitHub Actions workflow completed successfully
- LinkedIn credentials are set in GitHub Secrets
View logs:
- Go to GitHub Actions tab
- Click on the latest “Scheduled LinkedIn Posts” run
- Review the output
Post published but not on website
The post should have moved to _posts/. Check:
- File was moved successfully (check GitHub commit)
- Jekyll deployment completed
- Clear browser cache
Image didn’t upload
Check:
- Image path is correct in markdown
- Image file exists in repository
- Image is under 8MB
- Check GitHub Actions logs for upload errors
Best Practices
- Consistent timing: Always use 8:00:00 for consistency
- Include timezone: Always include
-0500in dates - Test first: Try scheduling a post for tomorrow to test the system
- Plan ahead: Schedule posts at least a day in advance
- Review before publishing: Double-check content before the publish date
- Monitor Actions: Occasionally review GitHub Actions logs
Workflow Details
Cron schedule: 0 13 * * * (13:00 UTC = 8am EST / 9am EDT)
Note: The workflow uses 13:00 UTC which equals 8am EST. During daylight saving time (EDT), this becomes 9am. If you need exact 8am year-round, you may need to adjust the cron schedule seasonally.
Files involved:
.github/workflows/scheduled-linkedin-post.yml- GitHub Actions workflowscripts/publish_scheduled.py- Publishing script_scheduled-posts/- Directory for future-dated posts_posts/- Directory for published posts
FAQ
Q: Can I schedule posts for specific times other than 8am? A: Currently, the workflow runs once daily at 8am ET. Posts with times after 8am will publish the next day at 8am.
Q: What happens if two posts have the same date? A: Both will publish on the same day at 8am. They’ll appear in the order processed.
Q: Can I schedule posts months in advance? A: Yes! Schedule as far ahead as you want.
Q: Will old drafts in _scheduled-posts automatically publish?
A: No. Only posts with date ≤ current date/time publish. Past dates publish immediately on the next run.
Q: Does this work for posts without images? A: Yes! Image upload is optional.