Run Social Media on GitHub — AI Agent
For developer-tool and open-source teams whose news happens in the repo: an agent that turns a published GitHub release into a launch post draft, thanks the contributors, and waits for your approval before anything goes out.
Release v3.8.0 published. 41 merged PRs read. Draft ready:
Quillmark · 1st
Open-source Markdown editor · 2,140 followers
Draft · not posted ·
Quillmark 3.8 is out. The headline: tables now paste straight from spreadsheets with column alignment kept, one of the oldest requests in our issue tracker.
Also in this release: offline mode for the desktop app, and a Vim keybindings fix that was driving a few of you up the wall.
Thanks to the 6 people who made their first contribution this cycle, including @hanna-lo and @tbekov.
Read the release notes
How do you turn GitHub releases into social media posts automatically?
You give an agent read access to the repository and a place to draft posts.
- 01
Trigger fires
When a release is published, the agent reads the release notes and the merged pull requests behind it, picks the two or three changes users will care about, and skips internal refactors and dependency bumps.
- 02
Read the release notes and merged pull requests
It drafts a LinkedIn post and a shorter X version in your team's voice, links the release page, and thanks first-time contributors by their GitHub handle.
- 03
Pick the changes users will notice
Drafts go to a review queue or your scheduling tool, not straight to your accounts.
- 04
Draft LinkedIn and X posts thanking contributors
GitHub is the source of the news here; publishing happens in LinkedIn, X or Buffer once someone approves.
- 05
You approve
Anything under your confidence bar waits for a human.
How you tell it what to do
Built in plain English.
You write the rule the way you'd describe it to a teammate. The agent reads the rule, breaks it into the actions it'll take, and confirms the apps it'll touch — before it does anything.
- 1Read the release notes and merged pull requests
- 2Pick the changes users will notice
- 3Draft LinkedIn and X posts thanking contributors
- 4Send drafts for approval before publishing
How it connects
Connect GitHub. The agent does the rest.
Claude and ChatGPT are already running on our side. You connect GitHub with one click, and social media management runs inside it.
Claude and ChatGPT run on our keys. Nothing for you to configure.
- GitHubConnect
- LinkedInConnect
Runs on your data, in your apps.
Nothing to deploy. Nothing to maintain.
Actions
What GitHub + DeskFerry can do
Real GitHub actions your AI agent can perform automatically — no manual work required.
Accept a repository invitation
Accepts a pending repository invitation that has been issued to the authenticated user.
Add email for auth user
Adds one or more email addresses (which will be initially unverified) to the authenticated user's github account; use this to associate new emails, noting an email verified for another account will error, while an existing email for the current user is accepted.
Add app access restrictions
Replaces github app access restrictions for an existing protected branch; requires a json array of app slugs in the request body, where apps must be installed and have 'contents' write permissions.
Add a repository collaborator
Adds a github user as a repository collaborator, or updates their permission if already a collaborator; `permission` applies to organization-owned repositories (personal ones default to 'push' and ignore this field), and an invitation may be created or permissions updated directly.
Add a repository to an app installation
Adds a repository to a github app installation, granting the app access; requires authenticated user to have admin rights for the repository and access to the installation.
Add a selected repository to a user secret
Grants a specified repository access to an authenticated user's existing codespaces secret, enabling codespaces created for that repository to use the secret.
Add assignees to an issue
Adds or removes assignees for a github issue; changes are silently ignored if the authenticated user lacks push access to the repository.
Add labels to an issue
Adds labels (provided in the request body) to a repository issue; labels that do not already exist are created.
Add org runner labels
Adds new custom labels to an existing self-hosted runner for an organization; existing labels are not removed, and duplicates are not added.
Add or update team membership for a user
Adds a github user to a team or updates their role (member or maintainer), inviting them to the organization if not already a member; idempotent, returning current details if no change is made.
Patch release fixes a path traversal issue. Suggest waiting for the advisory to be public before posting.
Marked as a pre-release on GitHub. Drafted a 'try the beta' post; confirm you want beta news on the main account.
@rk-dev's GitHub profile links to an X account with a different name. Not tagged until someone confirms.
Human in the loop
Approve before it sends.
Every draft lands in a review queue. You approve, edit, or reject — the agent never acts on its own unless you explicitly turn that on for a workflow you trust.
Governance
Every action, with the reasoning attached.
Each step the agent takes is logged with what it did, why it did it, and which app it touched. Audit-ready, so security and compliance can sign off without backfilling.
- Sam11:47 AM
Approved the v3.8.0 LinkedIn draft and scheduled it for 9 AM tomorrow.
- Agent11:32 AM
Drafted LinkedIn and X posts for v3.8.0 and sent them for approval.
- Agent11:31 AM
Skipped tagging @rk-dev on X in the v3.8.0 post.
Reason: The linked X account uses a different name than the GitHub profile, so it may not be the same person.
- Agent11:30 AM
Found 6 first-time contributors among the 41 merged pull requests.
- Agent11:29 AM
Read release v3.8.0 notes and its merged pull requests since v3.7.1.
How it works
Get started in three steps
Step 01
Connect GitHub and where you post
Connect the GitHub organization and pick the repositories to watch, then connect LinkedIn, X or your scheduling tool where drafts should land.
Step 02
Tell it what's worth posting
In plain English: announce minor and major releases, skip patch releases unless they fix something users hit, always thank first-time contributors.
Step 03
Approve before it posts
Every draft waits for a person. Security fixes, pre-releases and uncertain contributor tags sit in the queue with the reason spelled out.
Start automating Social Media Management for GitHub
7-day free trial. Works with the tools you already use.
FAQ
Frequently asked questions
Does the agent post to social media from GitHub?
No. GitHub is where the agent reads what shipped: releases, tags, merged pull requests and their authors. Posts are drafted for LinkedIn, X or a scheduler like Buffer, and published there after someone on your team approves them.
Which releases does it write about?
The ones your rule names. A common setup is a post for every minor and major version, patch releases only when the notes mention a user-visible bug, and pre-releases held for a person to decide. Dependency bumps and CI changes are left out of the copy.
How does it recognise contributors?
It compares the authors of merged pull requests in the release with everyone who contributed before, so first-time contributors can be thanked by GitHub handle. It only tags an X or LinkedIn account when the GitHub profile clearly links to it.
Can it handle security releases?
It treats them carefully. If a release mentions a CVE, a security advisory or a vulnerability fix, the draft is held so you can time the post with the public advisory instead of drawing attention to an unpatched issue.
Does it need write access to our repositories?
No. Reading releases and pull requests is enough for this job. The agent only acts in the apps you connect, and every draft, skip and approval is recorded in the audit log.
Explore more
