Mantra AI
Mantra AI is the layer that drafts review replies, schedules posts, and writes the insights you read on the dashboard. It reads what's already in your account — reviews, performance metrics, brand voice — and turns it into outbound text and recommendations you can either ship as-is or edit first.
You configure tone, set guardrails per location, and decide whether
Mantra publishes on its own or waits for you. Everything Mantra writes
costs credits; everything you write yourself is free. The control panel
for all of it is at /settings/ai, and the settings are
per-location — each Google Business Profile you manage has its own
voice, its own toggles, and its own automation cadence.
Setting Up Mantra AI
- 1
Open /settings/ai and pick the location
Mantra AI settings are scoped to whichever location is selected in the top-bar picker. Switch the picker first if you manage more than one — what you change on this page applies to that one location's AI behavior, not your whole account. The settings record itself (
LeelaAISettings) is keyed bylocationId. - 2
Set the brand voice
In the Brand Voice card, pick a Tone of Voice (Professional & Friendly is the default; Casual, Formal, Enthusiastic, Friendly, or Custom are the other options) and a Response Length (Brief, Medium Detail, or Detailed). Add the Languages your customers actually leave reviews in. Then fill in Business Context — a free-text paragraph describing what you do — and any Custom Instructions ("always mention our 24-hour guarantee", "never mention competitor names"). These apply to every AI reply and every AI-generated post for this location.
- 3
Decide auto vs approval per channel
Two independent toggles drive automation. Auto-respond to 4 & 5 star reviews (
responseSettings.autoRespondToPositive) lets Mantra draft and post replies to positive reviews without asking. Generate posts automatically (automationRules.enablePostGeneration) lets Mantra produce post drafts on the cadence you choose; pair it with Submit posts automatically (automationRules.autoSubmitPosts) if you also want them published to Google without review. New locations start with all auto-actions off — you opt in deliberately. - 4
Configure the negative-review approval gate
Require approval for negative reviews (
responseSettings.requireApprovalForNegative) is on by default. Read the next section before you flip it — its behavior today is not what most people expect. - 5
Save and watch the next batch run
Hit Save. Mantra picks up the new settings on the next scheduled cron run — review reply processing, post generation, and insights generation each have their own cadence. The
cronTrackingblock on the settings record (lastAIReply,lastPostGenerate, etc.) records when each one last fired against this location.
Key Concepts
Auto-reply rules — what shouldGenerateReply actually checks
Before Mantra writes a reply, the service walks a checklist. If any item fails, generation is skipped:
isActiveis true on the AI settings. If the location's settings record is inactive, no AI runs at all.- The review doesn't already have a reply. If
review.reply.commentis set — by you, a teammate, or an earlier AI run — Mantra never re-replies. Once-replied is once-replied. - The star rating is in scope.
- 4-5 stars → generation requires
responseSettings.autoRespondToPositive: true. With it off, no positive auto-reply ever fires. - 1-3 stars → generation requires
responseSettings.requireApprovalForNegative: false. With approval required (the default), generation is skipped entirely — see the next section.
- 4-5 stars → generation requires
- The brand voice is configured with at least one language.
- Per-hour cap not exceeded.
maxRepliesPerHour(default 2) throttles bursts; the rest queue for the next hour.
Negative-review approval gate — be honest with yourself about this
When Require approval for negative reviews is on (the default), Mantra does not generate a draft for 1-3 star reviews. There is no approval UI in the product today. A draft would just sit in a queue forever, so the service skips generation entirely to avoid burning credits on zombie drafts.
What this means in practice:
- Approval-required ON (default): Mantra ignores 1-3 star reviews.
You reply manually from
/reviews. There is nothing to "approve" — no draft is ever produced. - Approval-required OFF: Mantra auto-generates and auto-posts a reply to negative reviews using the same flow as positive ones. This skips human review on your worst reviews — flip with care.
If you want a human in the loop on negatives, today the practical answer is: leave approval-required on, and reply to those manually.
Brand voice
brandVoice is the per-location styling layer applied to every AI
reply and every AI-generated post. The fields:
toneOfVoice—professional,friendly,professional_friendly(default),casual,enthusiastic, orcustom.responseLength—brief,medium_detail(default), ordetailed.languages— array of language codes; new locations auto-detect fromstorefrontAddress.languageCodeor fall back to region.businessContext— paragraph describing your business that gets injected into every prompt.customPrompt— extra rules layered on top of context.keywords/avoidWords— lists Mantra biases toward and away from.
Brand voice is per-location, so a salon and a clinic on the same account each get their own voice without one overwriting the other.
Already-replied protection
Mantra never re-replies to a review. The check happens at
shouldGenerateReply — if review.reply.comment is non-empty,
generation returns immediately with "Review already has a reply"
as the reason. This protects against double-replies whether the first
reply came from you typing manually, a teammate, or an earlier AI run.
Post generation and insights
Beyond review replies, Mantra produces two other outputs:
- Posts. With Generate posts automatically on, Mantra produces
post drafts on the schedule from
automationRules.postFrequency(daily,weekly,bi-weekly, ormonthly) andpreferredPostingTimes. With Submit posts automatically also on, drafts publish to Google directly; otherwise they land in/contentfor you to review and approve. The 7-day batch generation costs 20 credits per cycle; publishing each post to Google is 1 credit on top. - Insights. With
automationRules.enableInsightsGenerationon (default), the daily insights cron rebuilds the AI Insights card on/dashboardand the fuller view at/insights— a generated narrative of what changed, what's risky, and what to do next.
Pro Tip
Frequently Asked
Related
Review Management
The reviews inbox at /reviews — where AI drafts land for editing and where you reply manually to anything Mantra deliberately skips.
Credits & Billing
What every AI action costs (5 credits per AI reply, 20 per 7-day post batch, 75 per heatmap scan), where to top up, and what stops working when the balance hits zero.
Insights & Alerts
The AI-generated narrative on /dashboard and /insights, plus how custom alerts notify you when rating, velocity, or response time crosses a threshold.