- Places API (New): competitor scans find local rivals on Google Maps and the
server reads real ratings/review counts by place id; client's own listing
fills the "You" row; recent reviews for praise/complaint themes; 30-day cache
- Google Trends via DataForSEO: rising/top related searches and % change per
keyword in the client's region; used by trend-scan and to check gap demand
- Instagram Hashtag Search: top/recent posts under a niche hashtag (tool +
Competitors page panel), counts Instagram's 30 tags/week limit
- Server settings → Research: keys plus on/off switches for each source
(hashtag search off until Meta approves Public Content Access)
- Reports mark website-sourced ratings as unverified; skill takes handles
only from a business's own site
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
With a model server address set, runs send every model slot (opus/sonnet/haiku/subagent)
to the chosen model and never send the Anthropic key there. Tested locally with
qwen3.6:35b-a3b through the Agent SDK.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Server settings (Settings page): SMTP, AI, publishing, Meta, platform keys and,
on the control centre only, Stripe/billing. Stored sealed in data/settings.json and
applied over .env in every process; hosted agency workspaces don't see our email,
platform keys or billing.
- Odoo connection per workspace in Connections (login checked before saving).
- provision-tenants.sh marks agency containers with QUORLA_HOSTED_TENANT=true.
- docs/wildcard-subdomains.html: one-time setup for automatic agency subdomains.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>