SocialCalendar
User Manual (v1)
Turn Bluesky posts into a live calendar.
Add this URL to your calendar app:
https://socialcalendar.org/ics?handle=<your-handle>
Your calendar app will refresh automatically.
How It Works
SocialCalendar scans:
- Posts you write
- Posts you repost
- Posts you reply to (see “Using Replies”)
It looks for the hashtag:
#socialcal
Creating an Event (Simple Case)
Write a post in this format:
[date and time with timezone] Title of Event
Details about the event #socialcal
Example:
[March 22 7pm CT] Drinks at Maria’s
Back room. Bring friends. #socialcal
This becomes:
- Title: Drinks at Maria’s
- Time: March 22, 7pm Central Time
- Description: Back room. Bring friends.
Timezone Rules (Required)
The bracket must include a timezone as the last token. If the timezone is missing or invalid, the post is ignored.
Allowed timezone formats
Short US forms
Use one of: ET, CT, MT, PT
[tomorrow 7pm CT]
Full timezone names (IANA)
Europe/Paris
America/Chicago
Asia/Tokyo
[March 22 19:00 Europe/Paris]
ISO offsets
-05:00
+01:00
Z
[2026-03-22T19:00-05:00]
Not allowed
- Abbreviations like
CST,PST,IST - City names like
Chicago - Missing timezone
Relative Dates
Relative times are supported and interpreted relative to when the post was created.
[tomorrow 7pm CT]
[next Friday 6:30pm ET]
[in 2 weeks 5pm PT]
Using Replies to Add Events
Replies let you turn someone else’s post into an event. Replies are only considered if your reply contains #socialcal.
1) Parent post already contains a full event
If you reply with #socialcal to a post that already has the correct format and includes #socialcal, that parent post becomes an event.
Parent:
[March 22 7pm CT] Seminar
Room 240. #socialcal
Your reply:
Looking forward! #socialcal
Result: The parent post becomes an event.
2) Reply supplies the event header
If the parent post does not contain event formatting, your reply can provide it using a one-line header:
[date and time with timezone] Title of Event #socialcal
Parent (details):
Dinner at Maria’s. Back room.
Your reply (header):
[March 22 7pm CT] Dinner #socialcal
Result:
- Date/time/title come from your reply.
- Event details/description come from the parent post.
3) Hashtag-only replies
If a reply chain already established either:
- a full event post, or
- a header reply
then a later reply that contains only:
#socialcal
will combine the pieces and create the event if possible. This allows simple “add this” interactions without repeating the header.
Reposts
If you repost a post containing #socialcal and valid event formatting, that post becomes an event on your calendar.
What Gets Ignored
Posts are skipped if:
#socialcalis missing (except when a reply with#socialcaltriggers inclusion via the reply rules)- Date/time is missing
- Timezone is missing or invalid
- The required formatting is malformed
- The referenced parent post is unavailable
Best Practices
Keep formatting clean.
Good:
[March 22 7pm CT] Dinner
Back room at Maria’s. #socialcal
Avoid:
Dinner March 22 at 7 CT #socialcal
Remember: the timezone must be the last token inside the brackets.
Deduplication
If multiple posts/replies reference the same event, it will appear only once.
Adding to Your Calendar
Use:
https://socialcalendar.org/ics?handle=<your-handle>
In common calendar apps:
- Google Calendar → “From URL”
- Apple Calendar → “New Calendar Subscription”
- Outlook → “Subscribe from Web”
That’s it — post events with #socialcal, and your calendar stays up to date.