Bullet
Web PlatformConnect AI agents to Bullet, the platform that turns Notion pages into a membership website. Agents add, update, and remove members and manage their segment access so gated content stays in sync with your customer records.
What This Integration Enables
Bullet is for people whose content already lives in Notion and who need a paywall around it rather than a new place to write. That shapes the connector in a way worth being direct about: Bullet's public API covers membership and nothing else. There are no page, collection, or blog operations here, because the vendor does not publish any. Your content stays where you write it. What this connector governs is the gate in front of it, meaning the member accounts that can get through and the segments that decide how far.
The consequence is that Bullet is downstream of whatever system knows who paid. Agents read the current membership with List Members, add people with Add Member as purchases clear, adjust access incrementally with Add Member To Segments and Remove Member From Segments, and remove accounts with Remove Member. Two details govern how a flow should be built. Segments must already exist on the site, because they are created in the Bullet dashboard rather than through the API, so an agent assigns access from a fixed vocabulary instead of inventing new tiers at runtime. And Update Member replaces a member's full segment list rather than adding to it, which means a payload that omits a segment silently revokes it. For routine entitlement work the incremental segment actions are the safer pair, and Update Member is best reserved for the case where the full intended list is genuinely known.
Without FlowRunner
With FlowRunner
Use Case Scenarios
Entitlement that keeps up with checkout
A purchase clears in Stripe. The agent reads the plan on the subscription, maps it to the segment names the Bullet site already defines, calls List Members to check whether this email has bought before, and then either calls Add Member with the right segments or calls Add Member To Segments to widen an existing account. The buyer reaches the gated Notion content the site publishes without anyone opening a dashboard. Where the mapping is ambiguous, meaning a plan nobody has configured a segment for, the purchase becomes an automation exception with the plan name attached rather than a guess at which tier the buyer should land in.
A cohort that moves through a course
A course runs in stages and each stage is a segment. The roster lives in Airtable, where the team tracks who has completed what. On a weekly run the agent reads the roster, calls Add Member To Segments for everyone who cleared the current stage, and calls Remove Member From Segments to close the previous stage behind them. Nobody is deleted, nobody loses the account they created, and the access map on the site matches the roster the instructors actually maintain. Because segments are dashboard-created, the flow can only ever move people between stages the team has already defined, which is a useful constraint rather than a limitation.
A churn sweep that stops short of deleting anyone
Monthly, the agent reconciles the Bullet membership against the billing system. List Members gives the full site roster; the billing system gives the paying roster. The difference splits three ways: people who downgraded, which the agent handles itself with Remove Member From Segments; people who churned months ago and still hold every segment; and people the billing system has never heard of, which usually means a manually added account or a mistyped email. The first group is resolved on the run. The second and third arrive in a message with names, emails, segments held, and last known billing state, and no account is removed until a person picks which ones should go.
Human-in-Loop Highlight
The line on this connector runs between two actions that look adjacent and are not. Remove Member From Segments revokes access, and the account, its email, and its history remain, so restoring it later is one call. Remove Member permanently removes the member from the site, and the Bullet API offers nothing that undoes it. A returning customer who was removed rather than downgraded has to be created again from whatever record you kept elsewhere, and the record of what they used to have access to is gone with them. That is the irreversibility worth building the pause around, and it is why an agent on a production Bullet connection should be free to adjust segments and never free to delete.
So the sweep runs to the edge and stops. The agent assembles the evidence, then asks in Slack: "Monthly membership reconciliation: 12 members downgraded and already adjusted. 4 members hold paid segments with no active subscription since April, listed with their emails and segments. 2 members are not in billing at all. Remove any of these accounts, or downgrade them to the free segment instead?" Every option in that question is a real one, and the agent can execute whichever the person picks. This is human-in-the-loop doing the job it is actually good at: the tedious reconciliation moves to the agent, and the one call that cannot be walked back stays with a person who knows the customer.
One more trap deserves the same care for a different reason. Update Member replaces the member's segment list wholesale, so a flow that sends only the segment it means to add revokes everything else in the same call. That failure is quiet, because nothing errors and the member simply finds the rest of the site locked. Where the full intended list is not certain, the incremental segment actions are the correct tool, and a flow that reaches for Update Member should build its payload from a fresh List Members read rather than from an assumption.
Agent Capabilities
6 actionsMembers
4- List Members Returns every member of the configured Bullet site with their name, email, and the segments they belong to. This is the read behind every reconciliation, and it is also the correct first step before any call that replaces a member's segment list, because it is the only way to know what that list currently contains.
- Add Member Adds a member to the site, optionally assigning existing segments to grant gated-content access at the same time. Used the moment a purchase or signup clears somewhere else, so access and payment stay on the same run rather than in separate queues.
- Update Member Updates an existing member by email, changing their display name and replacing the full set of segments they hold. The replacement is the thing to plan around: the list supplied becomes the complete list, so anything left out is revoked.
- Remove Member Permanently removes a member from the site. This is the destructive action on the connector and there is no undo, so it belongs behind a person rather than inside an automatic sweep.
Segment Access
2- Add Member To Segments Grants a member access to one or more segments that already exist on the site, without touching the segments they already hold. The safe way to widen access, used on upgrades, cohort advances, and cross-sells.
- Remove Member From Segments Revokes specific segments from a member while leaving the account intact. The right response to a downgrade, an expired add-on, or a cohort stage closing behind a student, and the action a churn flow should reach for before anyone considers deleting an account.
Frequently Asked Questions
What can FlowRunner do with Bullet?
FlowRunner agents can run List Members, Add Member, and Update Member in Bullet, plus 3 more actions.
Does connecting Bullet to FlowRunner require OAuth?
No. Bullet connects to FlowRunner with an API key, no OAuth flow required.
Can Bullet trigger a FlowRunner workflow automatically?
Bullet doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.
Start building with Bullet
$100 in credits. No card required. Connect in minutes.