Concepts

Limit usage and cost

Cap how much one person may ask, give your paying users more, and put a ceiling on the month's spend.

Two controls in the console keep usage where you want it. Neither needs a new build.

How much one person may ask

Settings › Usage limits sets a limit per day and per month, separately for anonymous visitors and for signed-in people.

  • What counts. Choose messages (every message a person sends, typed or tapped) or conversations (every conversation a person starts). Never credits: a limit is about how much one person asks, not what it costs.
  • No dead ends. Finishing a form or confirming an action is never stopped, and a conversation already open finishes.
  • At the limit. The assistant answers with a calm note where the answer goes, never an error, and its input rests until the limit lifts, saying when ("Back tomorrow", "Back on 1 November"). The rest of your app keeps working. Leave the message empty to show ours in the person's language, or write your own, and add your own link under it ("See plans"). Usage limits shows a preview of exactly what they see. This is Flutter 0.47.0 and Web 0.24.0 onward; an older build shows the same sentence in its error strip.
  • One left. When a person has one question left, a quiet line over the input says so ("1 question left today"). Flutter 0.48.0 and Web 0.25.0 onward.
  • Resets. Days and months reset at midnight UTC.

Tiers

To give paying users more, pass their tier when you sign them in. Add a row with the same name under Usage limits. Names match without regard to case. A signed-in person with no tier, or a tier you haven't added, gets the signed-in limit.

Flutter
await Rendel.identify(userId: user.id, traits: {'tier': user.plan}); // "free", "premium", …
Web
Rendel.identify({ userId: user.id, traits: { tier: user.plan } });

Call identify again when someone's plan changes.

Turn on identity verification under Settings › Security, so nobody can claim a tier they don't have. See Sign-in and identity.

A monthly budget

Settings › Plan & usage › Monthly budget sets a ceiling, in whole dollars, on what your organization spends in a month. It is one budget for all of the organization's apps, not one per app.

  • Emails. Everyone on the team gets an email at 80% and at 100%.
  • At the budget, either:
    • Pause new conversations. The assistant's button is hidden in your apps, with no message to anyone. Conversations already open finish, so the month can end slightly over.
    • Keep answering. Nothing pauses, and the emails are all you get.
  • Where to watch it. The month's spend, and where it's heading at the current rate, show on the Overview and under Plan & usage.
  • Resets. The budget starts again on the 1st.

When usage is paused

While the budget pauses new conversations, or the organization's usage credit runs out, the SDK hides its own button and people see no message at all. Conversations already open finish; what they use past zero is taken first from the next usage credit you add. The button comes back on its own once usage can start again: credit added, the budget raised, or the 1st. The SDK checks every few minutes and whenever the app comes back to the screen.

If your app opens the assistant from a button of its own, hide that one too:

Flutter
ValueListenableBuilder<bool>(
  valueListenable: Rendel.available,
  builder: (context, available, _) => available ? const AskButton() : const SizedBox.shrink(),
);
Web
Rendel.on("availabilityChanged", () => {
  askButton.hidden = !Rendel.available;
});

This is Flutter 0.48.0 and Web 0.25.0 onward. An older build keeps its button and shows a calm sentence when a new conversation is refused.

To see what a month is likely to cost before you set it, use the calculator on the pricing page.