FlowRunner
PricingContact
Theme
Start Free

AnnounceKit

CMS & Content

Publish multi-language changelog posts, run an ideas board, and read reader sentiment through the AnnounceKit GraphQL API. Agents turn shipped work into release notes and route feature requests to the right product owner.

21 actions API key available
A release lands and the deploy record is marked customer visible
Agent pulls the shipped issue titles and the customer-facing summary from the release record
Agent confirms each item is actually available to the plans the changelog audience holds
Agent calls Create Post with one Contents entry per locale, left as a draft
Agent compares the locales on the draft against the locales the project already publishes in
Agent posts the draft link and the missing-locale list into the product marketing channel
Product marketing publishes the draft, or holds it until the missing translation arrives

What This Integration Enables

AnnounceKit is built for teams whose customers do not all read English. Its changelog is a per-locale object rather than one post with translations bolted on, and its API is GraphQL, which means a single Create Post call carries every language at once instead of six sequential publishes that drift apart. FlowRunner agents use that shape directly: read the release record, assemble the Contents array, create the post as a draft, and stop.

The second half of the surface is the return path. AnnounceKit records who read a post, what they reacted with, and what they wrote back, and it will compute a Net Promoter Score for a project or for one specific announcement. An agent can pull that sentiment per release and route it, so a detractor comment on the billing changelog reaches the person who owns billing rather than an inbox nobody reads. Between the two sits the ideas board, where feature requests captured in a sales call or a support ticket land next to the roadmap they should be shaping. None of this needs an engineer, because connectors are the unit of work and the agent composes them.

Without FlowRunner

Notes written after the fact Release notes get drafted days later, once the detail has gone cold
English first, other locales never Non-English readers get the announcement late or read a version nobody updated
Sentiment stays in the widget Reactions and written feedback sit on the post and never reach the team that shipped the thing

With FlowRunner

Draft exists on ship day The post is created the moment the release record closes, ready for a person to read
Every locale in one call Contents carries one entry per language, so translations go live together instead of trickling
Sentiment routed to an owner Feedback, reaction counts and NPS come back to the person who owns the feature that prompted them

Use Case Scenarios

Ship-day changelog in every locale

A release closes. The agent reads the customer-facing summary and the labels that classify it, calls List Labels to resolve the project's own tag IDs, and creates a draft post with one Contents entry per locale the project publishes in. If a translation is missing for one language, the agent does not quietly publish the English into that slot. It leaves the draft unpublished, posts the gap into Slack with the locale named, and waits. Product marketing fills the gap or decides the release is small enough to go English-only. The post goes live in every language on the same day or not at all, which is the point of running a multi-language changelog in the first place.

Field requests onto the ideas board

A support conversation in Zendesk or a note on a HubSpot deal contains a feature request. Today it dies in the ticket. The agent extracts the request, checks List Feature Requests for an existing entry that already says the same thing, and either records a new request with Create Feature Request attributed to that customer or leaves the existing one alone. Requests that are commercially sensitive get the Internal flag so they are tracked without appearing on the public board. When the feature eventually ships, the same board tells the product team exactly which accounts asked for it.

Release retrospective on real sentiment

A week after a release, the agent runs Calculate NPS scoped to that one post, pulls Get Feedback Counts for the reaction breakdown, and reads the written responses with List Feedback. Each written response carries the reader's identity and custom attributes, so the agent can resolve a negative comment to an account and its owner. Positive reactions go into the release summary. Negative ones go to the account owner in Slack with the comment quoted and the post linked. Where a comment reads as a feature gap rather than a complaint, the agent proposes an ideas board entry and asks the product owner whether to file it, because turning a customer's frustration into a public roadmap item is a judgment call and not a parsing task.

Human-in-Loop Highlight

The gate lives on corrections, not on publishes. AnnounceKit's Update Post replaces a post's per-locale content in full, which is exactly why Update Post Translation exists alongside it. So when an agent detects that a live announcement overstates availability, saying a capability is on every plan when it is Enterprise only, it is holding a corrected English paragraph and five translations that do not exist yet. Running Update Post with only the English entry would fix one language and strip the other five off a post readers are reading right now. Running Update Post Translation fixes English and leaves five locales still saying the wrong thing. The agent does not pick. It posts both options into the product marketing channel: "Post 9142 is live in 6 locales and overstates plan availability. Correct English now with Update Post Translation and leave 5 locales wrong until translations land, or pause the whole post with Update Post while every language is fixed?" A person answers, the agent executes, and the reversible pause is available precisely because Delete Post is not. This is a digital andon cord on a publishing surface: the agent stops the line when the next step would cost something it cannot give back.

Agent processes routinely
Detects that a live announcement overstates availability
Clear match Continues automatically
Ambiguous Routes to human via preferred channel
Human decides
Agent resumes with decision

Agent Capabilities

21 actions

Changelog Posts

6
  • List Posts Reads the changelog posts on a project with their translations, labels, publish state and view counts. Supports free-text search, label filtering and paging. Used to audit what has shipped and to resolve a post ID before an update.
  • Get Post Reads one post by ID with every translation, its labels, publish state and segment targeting. Used to check the exact live wording before syndicating an announcement anywhere else.
  • Create Post Publishes a new changelog post. Posts are drafts unless Publish is set to true, and Contents takes one entry per locale, so a single call can create every translation at once. Basic HTML is supported in the body.
  • Update Post Updates an existing post, replacing its per-locale content and settings. Used to correct copy, publish a draft, pin an announcement or schedule expiry. Because it replaces the whole content set, supply every locale you intend the post to keep.
  • Delete Post Permanently removes a post along with its feedback and reactions. Use Update Post with Paused turned on when you want the post out of the widget but recoverable.
  • Update Post Translation Replaces the title and body of a single locale on an existing post without touching the other translations. Used to add or correct one language after a post is already live.

Labels

3
  • List Labels Reads the labels defined on a project with their display colors. The IDs returned here are what Create Post and Update Post expect.
  • Save Label Creates a new label or updates an existing one. Supply a label ID to rename or recolor; omit it to create.
  • Delete Label Removes a label from a project. Posts that carried it keep their content and lose that categorization in the widget.

Ideas Board

3
  • List Feature Requests Reads feature requests with their vote and comment counts, ordered by most voted, trending or newest, and filterable by label, date and visibility. Used to feed real customer demand into roadmap planning.
  • Create Feature Request Records a feature request on behalf of a customer, so demand captured in a sales call or a support ticket lands where the roadmap lives. Set Internal to track it without putting it on the public board.
  • Delete Feature Request Permanently removes a request together with its votes and comments. Archiving is usually the better move when the history is worth keeping.

Reader Sentiment

4
  • List Feedback Reads the written feedback left on changelog posts, optionally narrowed to one post. Each entry carries the reader's identity and custom attributes, so an unhappy response can be routed to the right account owner.
  • Get Feedback Counts Returns how many reactions of each type a project or a single post received. Used to judge whether an announcement landed without pulling every individual response.
  • Calculate NPS Computes the Net Promoter Score for a project or one post, with the promoter, passive and detractor breakdown. Used to track sentiment across releases or to gate a rollout on satisfaction.
  • Record Post Reaction Records a reader's reaction on behalf of an end user, so sentiment gathered outside the AnnounceKit widget still counts. Reaction values are free text because AnnounceKit models them as configurable emoji.

Readers

2
  • List External Users Reads the end users AnnounceKit has seen on a project, with identity, custom attributes and last-seen timestamp. Used to reconcile changelog readership against your own user records.
  • Remove External User Deletes an end user and their activity from a project. Used to honor a deletion request or to purge test accounts.

Webhook Subscriptions

3
  • List Webhooks Reads the outbound webhook subscriptions configured on a project with their target URLs and enabled state.
  • Save Webhook Creates a new outbound webhook subscription, or updates one when a webhook ID is supplied. AnnounceKit delivers post, feedback, subscription and feature request events by HTTP POST.
  • Remove Webhook Deletes an outbound webhook subscription so AnnounceKit stops posting events to that endpoint. Used when tearing down an environment.

Frequently Asked Questions

What can FlowRunner do with AnnounceKit?

FlowRunner agents can run List Posts, Get Post, and Create Post in AnnounceKit, plus 18 more actions.

Does connecting AnnounceKit to FlowRunner require OAuth?

No. AnnounceKit connects to FlowRunner with an API key, no OAuth flow required.

Can AnnounceKit trigger a FlowRunner workflow automatically?

AnnounceKit doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.

Start building with AnnounceKit

$100 in credits. No card required. Connect in minutes.