Real-time webhook for native Instagram post creation with caption + media (not just post.external.created polling)
post.external.created / post.external.updated are great for catching natively-published Instagram posts, but they're poll-driven on roughly an hourly cycle. For any use case where an AI agent needs to react to a new post (e.g. auto-replying to comments with context-aware answers), an hour of lag is the difference between a useful bot and a customer wondering why nobody responded.
Request
A true webhook event — fired the instant a new Instagram post goes live, native or via Zernio — that includes:
Post/media ID
Caption (full text)
Media URL(s) (image/video/carousel items)
Permalink
Timestamp
Media type (feed/reel/carousel)
Effectively post.external.created but event-driven instead of poll-driven, since Meta's own webhook infrastructure already supports near-real-time delivery for comments — the same pattern should be applicable to media publish events.
Why this matters for your other customers, not just me
Anyone building comment-reply bots, moderation tools, or AI customer-service layers on top of Instagram needs the post's caption/media as context the moment the post exists — otherwise the bot is blind to what's being discussed in the comments for up to an hour after launch. This seems like a natural extension of the comment-webhook infrastructure you already have, just triggered on media creation instead of comment creation.
My specific use case
I'm building AI-powered comment-reply automation for local electronics retailers on Instagram. The bot needs the post caption + media the moment it's published so the AI has the right context to answer comments accurately — currently I either build a workaround poller or wait up to an hour, both of which hurt response quality/speed.
Log in to comment and vote
Comments1
Miquel Palet López
Aug 26
A true push event on publish is not something we can build: Meta's Instagram webhook fields are limited to comments, live_comments, mentions, messages and messaging_*, message_reactions and story_insights, and none of them fires when the account itself publishes media. Polling is the only way Meta lets anyone detect a native post.
For the comment-bot use case, though, you should not need it.
comment.receivedis delivered in real time off Meta's comments webhook and already carries the post context in the same payload (post.platformPostId,post.content,post.imageUrl,post.permalink), and if the post was never synced you can callPOST /v1/posts/sync-externalwith the account id to pull caption, media items, permalink and media type on demand within seconds. Posts published through Zernio firepost.publishedimmediately.We are keeping this open to look at tightening the native-post sync cadence, which is ours to change, and we will revisit a push event if Meta ever ships a media publish webhook.