FlowRunner
PricingContact
Theme
Start Free

Connect AI agents to Candu, the no-code in-app UI content builder. Agents identify users and groups and track custom events so Candu can segment audiences and target the right in-app content, checklists, and announcements.

Verified 3 actions API key available
Candu website ↗ Platform Documentation ↗ Capability data verified 2026-08-10
A subscription changes tier in the billing system
Agent reads the account, the new plan, the seat count, and the effective date
Agent confirms the user identifier it holds matches the identifier the Candu SDK was initialized with
Agent calls Identify Group to update the account traits that drive account-level targeting
Agent calls Identify User for each affected seat so individual traits stay consistent with the account
For a bulk trait backfill across the installed base, an owner approves the computed change set before it is pushed

What This Integration Enables

Candu builds in-app content: checklists, announcements, banners, onboarding surfaces that render inside your own product. The public REST API is ingestion only. There are three operations, all writes, and the connector says so plainly: no endpoints exist to read or list content, components, segments, or analytics. What goes in cannot be read back out through this door.

That constraint defines how an agent should use it. Identify User attaches traits to a person, Identify Group attaches traits to an account and can associate a user with it, and Track Event logs a named behavior with properties. Those three feeds are what Candu's segmentation and targeting rules evaluate to decide which customer sees which message inside the product. FlowRunner agents keep those feeds fed from the systems that actually know: billing for plan, the CRM for role and owner, the product database for usage milestones. The connectors layer makes each of those a step rather than a script. The judgment about what a trait should mean stays with the person who owns the in-app experience.

Without FlowRunner

In-app messages target stale traits The banner still calls a paying customer a trial user weeks after they upgraded
Traits maintained by hand Someone exports a list and pastes it into a tool when they remember to
No shared definition of a lifecycle event Onboarding completion means one thing in the product and another in the campaign tool

With FlowRunner

Traits follow the source of truth A plan change in billing reaches the in-app targeting layer as part of the same flow
Events tracked as they happen Lifecycle milestones are logged when the product records them, not on a nightly job
Bulk changes reviewed first A backfill across the installed base is approved as a change set before it is pushed

Use Case Scenarios

Plan changes reach the in-app layer immediately

A subscription upgrades in Stripe. The agent calls Identify Group with the account's new plan, seat count, and renewal date, then calls Identify User for each seat on the account so user-level and account-level traits agree. The checklist that was nagging the account to start a trial stops rendering, and the onboarding sequence for the new tier becomes eligible. No release, no manual segment edit.

Product milestones as targeting signals

The product records that a workspace has connected its first data source. The agent reads that from PostgreSQL and calls Track Event with an event name and properties describing what was connected and how long it took. Candu can then target the next in-app step at exactly the users who have crossed that line, and hold back the ones who have not. Because the event carries properties, the same feed also supports a behavioral segment later without a new instrumentation project.

CRM context available inside the product

Account ownership, industry, and contract tier live in HubSpot. The agent syncs those onto the Candu group profile with Identify Group so in-app content can vary by segment, for example showing an enterprise onboarding path to enterprise accounts. When a trait's meaning changes upstream, for example the CRM renames a tier, the flow catches it as an exception rather than pushing a value that no targeting rule matches.

Human-in-Loop Highlight

Candu's ingestion endpoint returns an empty success response, and there is no read path in the API. An agent that pushes a trait cannot ask Candu what it now believes, cannot list which users carry a value, and cannot delete a write it regrets. Worse, the userId has to match the identifier used when the Candu SDK was initialized in the product; when it does not, the write succeeds and creates a profile that will never resolve to a real user, silently. Both failure modes are invisible to the agent and highly visible to customers, because the output of this data is content rendered inside your product.

So the gate is on the bulk backfill, and specifically on the identifier mapping. Incremental writes, one account at a time as billing changes, run unattended. When a flow is about to re-identify the installed base with a recomputed trait, the agent stops and posts the change set to the owner of the in-app experience: "Backfill of the plan trait covers 4,180 users across 612 accounts. 503 accounts move from trial to churned, which makes them eligible for the win-back banner. Sample of 5 userIds attached for comparison against the SDK identifiers in the app. Push, push a 50-account test batch first, or cancel?" One person answers one question, with the sample in front of them. That is cheaper than discovering the mismatch from a support ticket about a banner that will not go away.

Agent processes routinely
Detects exception requiring judgment
Clear match Continues automatically
Ambiguous Routes to human via preferred channel
Human decides
Agent resumes with decision

Agent Capabilities

3 actions

Ingestion

3
  • Identify User Sends or updates a user profile by userId with traits such as email, name, role, or plan. Traits are merged with what Candu already holds, and they power the segmentation and targeting rules that decide which in-app content a person sees.
  • Identify Group Sends or updates a group, meaning an organization or account, by groupId with traits such as name, domain, employee count, or plan, and optionally associates a user with the group. Used for account-level targeting where the message should depend on the company rather than the individual.
  • Track Event Logs a named custom event for a user with optional properties, for example a plan upgrade or a completed onboarding step. Used to trigger and target in-app content on behavior and to build behavioral segments.

Frequently Asked Questions

What can FlowRunner do with Candu?

FlowRunner agents can run Identify User, Identify Group, and Track Event in Candu.

Does connecting Candu to FlowRunner require OAuth?

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

Can Candu trigger a FlowRunner workflow automatically?

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

Start building with Candu

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