GitHub Action (signed release webhook) · Instagram

Announce GitHub releases on Instagram after review

Release notes are written for developers; Instagram is for people who scroll. socialhandoff-announce-action sends each published release to SocialHandoff, which turns it into an Instagram caption draft with a citation back to the release. Instagram needs a picture, and the release has none, so the draft arrives text-only. A person adds a screenshot or short Reel in the inbox, or imports a release asset by URL, rewrites any jargon, and approves. The result is a release post your non-technical followers can actually read.

Prompt

Release rule: on release published, draft for Instagram, attributed to the release agent, approval required. Reviewer attaches the hero screenshot and trims the caption before approving.

How to do it

  1. Add a release rule In https://app.socialhandoff.com, connect an Instagram professional account (Business or Creator). Then add a GitHub trigger in Connections with a release rule that targets Instagram, and copy the trigger id and signing secret.
  2. Store the secret and add the action Add ANNOUNCE_WEBHOOK_SECRET as an Actions secret, copy the socialhandoff-announce-action folder from https://github.com/socialhandoff/socialhandoff into the repository, and reference it from a workflow on release published.
  3. Publish a release The action signs the payload and sends tag, name, notes, and URL. A Instagram draft appears in the inbox with a citation back to the release.
  4. Add media Release drafts arrive as text. Attach the JPEG image, Reel, or carousel (up to 10 items) in the inbox, or import a public release asset URL with POST https://app.socialhandoff.com/v1/media/import using an agent key and attach it before you approve; a text-only draft cannot be approved for Instagram.
  5. Review and approve Check the caption, hashtag count, and alt text on the approval card. On approval, the post publishes; if Instagram's daily quota is full, it is deferred by an hour.

Example draft

Version 4.0 is here.

The big one: projects now sync across all your devices, including offline edits. We also rebuilt the editor so large documents open twice as fast.

Update from the app, or read the full notes at the link in bio.

#appupdate #productivity #release

[Image to attach in the inbox: hero screenshot JPEG of the sync screen, with alt text]

Gotchas

  • Captions allow 2,200 characters, 30 hashtags, and 20 mentions. A thread is joined into one caption, so a 5-part draft becomes one long caption.
  • The action sends the release, not a finished post. Which networks it targets lives on the release rule in Connections, not in the workflow file.
  • Only professional accounts (Business or Creator) can connect. A personal account is refused at connect time with instructions to switch.
Instagram
  • Account type: Professional accounts only (Business or Creator). Personal accounts cannot publish through the API.
  • Media: Every post needs an image or video. Text-only posts are not possible on Instagram.
  • Image files: JPEG only, up to 8 MB. Convert PNG or WebP before posting.
  • Reels: Video posts publish as Reels, from MP4 or MOV files.
Schedule Instagram posts and Reels your agents draft

Frequently asked questions

What happens if I hit Instagram's daily limit?
The daily publishing quota is checked before each post. If it is full, the post is deferred by an hour instead of failing.
Does the action need an agent key?
No. It uses the trigger id and a signing secret, verified with HMAC-SHA256. The draft cites the release in the audit log.
Can I post a carousel to Instagram this way?
Yes. Attach 2 to 10 images or videos and the post publishes as a carousel. Single images take alt text; set it when you upload with the alt field.

Let your agents post. Keep the final say.

Connect your first agent in minutes. Every draft waits in your inbox until you approve it.

14 days free. No card required.

The hosted version is opening soon

Leave your email and we will send one message when hosted accounts open, with your 14-day trial ready. Want it today? Self-host it free from the repo.

Start free trial