GymCore AI settings reference.
Exact menu path: GymCore Admin > AI > Settings. Nested tabs are Agents, Webhook & Security, Response Style, and General. White Label is a separate Pro-only AI hub tab.<br>
Who can change it: an account with manage_options, normally a WordPress administrator.<br>
Visible actions: Save Changes stores fields on the open settings subtab. Webhook-secret rotation and legacy-key clearing are separate confirmation actions. The White Label tab uses Save White Label Settings.
System Status reports GymCore and WP AI Client readiness without inspecting provider credential values. AI settings can expose gym context to a configured model provider or change which proposed actions reach staff review, so use fictional prompts for verification and keep credentials out of screenshots.
Agents
All per-persona values are saved together in the gym_core_ai_agent_overrides option. The option is an array keyed by persona slug; do not edit it directly.
| Field | Type | Default | Allowed values | Purpose, dependencies, side effects, and safety |
|---|---|---|---|---|
| Enabled | Checkbox per persona | On | On/Off | Hides or enables a persona. Does not bypass tool capabilities. Disable unused personas to reduce exposure. |
| Display Name | Text per persona | Built-in name | Plain text | Cosmetic staff label. Separate from Gym Name and White Label Brand Name. |
| Description | Text per persona | Built-in description | Plain text | Staff-facing scope summary; it does not enforce scope. |
| Capability | Select per persona | Persona-specific | read, gym_view_briefing, gym_process_sale, gym_view_finance, gym_use_gandalf, edit_posts, manage_options |
Determines persona visibility. Lowering it exposes the persona to more users; test with a non-admin account. |
| System Prompt Override | Textarea per persona | Blank | Plain text; {{gym_name}} supported |
Replaces the entire built-in prompt. It can remove safety/grounding rules; leave blank unless the full replacement is reviewed. |
Webhook & Security
| Field | Type | Default | Allowed values | Purpose, dependencies, side effects, and safety |
|---|---|---|---|---|
| Webhook Secret | Masked read-only + rotate action | Generated on activation | Generated secret | Authenticates automation webhooks. Rotation keeps previous secret valid 5 minutes; update sender immediately and never disclose it. |
| IP Allowlist | Multiline text | Empty | One valid IP per line | Restricts accepted source IPs when enforcement is on. Confirm proxy/egress addresses first. |
| Enforce IP allowlist | Checkbox | Existing installs: off fallback; fresh activation may initialize on | On/Off | On + empty list denies all; off + empty list falls open to signature-only access. Prefer on after staging test. |
Response Style
| Field | Type | Default | Allowed values | Purpose, dependencies, side effects, and safety |
|---|---|---|---|---|
| Custom greeting | Text | Blank | Plain text | Optional opening line appended through response customization. Do not imply a public chatbot. |
| Custom fallback message | Text | Blank | Plain text | Used when the assistant cannot answer. Include a safe staff escalation, not private contact details. |
| Custom sign-off line | Text | Blank | Plain text | Appended sign-off. Keep names/branding current. |
| Tone | Select | Default/blank | Default, Friendly, Professional, Concise | Adds global style guidance to all personas. Separate from core Brand voice. |
| Response length | Select | Default/blank | Default, Short, Medium, Detailed | Adds global length guidance; it does not cap model tokens or data access. |
General
The visible fields persist as gym_core_ai_gym_name, gym_core_ai_retention_days, gym_core_ai_notify_on_pending, gym_core_ai_slack_webhook_url, gym_core_ai_sms_admin_numbers, and gym_core_ai_notify_include_summary. Provider/model state is managed separately under Connections & Security > Provider and model.
| Field | Type | Default | Allowed values | Purpose, dependencies, side effects, and safety |
|---|---|---|---|---|
| Gym Name | Text | Blank → WordPress Site Title | Plain text | Injected into prompts/context and {{gym_name}}. It does not inherit core Organization name. |
| Conversation retention (days) | Number | 30 | Integer 1–365 | Daily purge for conversations/messages only; excludes action/audit history and third parties. |
| Notify on pending action | Checkbox | On | On/Off | Controls Slack/SMS external notifications; admin notice remains. |
| Slack incoming webhook URL | URL | Blank | HTTPS hooks.slack.com URL |
Credential and delivery target. Blank disables Slack. Rotate on exposure/offboarding. |
| SMS admin numbers | Multiline | Empty | One E.164 number per line, at least 8 cleaned characters | Requires core Twilio. Sends metadata-only action alerts. Keep list current. |
| Include action summary in Slack | Checkbox | Off | On/Off | May expose member names, refund reasons, and other PII. Enable only in an approved private workspace. |
Provider and model
Path: GymCore Admin > AI > Connections & Security > Provider and model.
Only providers configured by WordPress are selectable. Refresh the authoritative model catalog, save an exact provider/model draft, run the fixed readiness probe, and activate only a passing draft. Provider credentials remain owned by WordPress Connectors and are never rendered or copied by GymCore AI.
Internal AI license tier
gym_core_ai_license_tier is an internal free/pro option used for AI locked states, including White Label. It is not a customer-entered license-key field. Do not change it in the database to grant access; use the approved licensing flow and verify the installed product’s entitlement behavior.
White Label
Path: GymCore Admin > AI > White Label. Pro and manage_options required.
| Field | Type | Default | Allowed values | Effect |
|---|---|---|---|---|
| Brand Name | Text | GymCore AI | Plain text | Interface brand label only. |
| Logo URL | URL/media | Blank | Valid URL | Interface logo. |
| Primary Color | Color | #1a1a2e |
Valid hex | Interface accent color. |
| Hide Branding | Checkbox | Off | On/Off | Hides powered-by credit. |
| Custom Welcome Message | Textarea | Blank | Plain text | Configured welcome message; no public website bot is implied. |
Verify a change
- Select Save Changes on the edited AI subtab, reload that subtab, and confirm the value remains. For White Label, use Save White Label Settings instead.
- Use fictional gym and member details to run the exact agent or response-style workflow affected by the change.
- Compare the conversation, proposed action, approval state, and resulting GymCore source record. System Status alone does not prove a provider request succeeded.
- Check the configured model provider’s request/error record when available. Restore the prior setting with the same visible save action if the response or action scope is wrong. A rotated secret invalidates the old secret, and an external action already completed cannot be undone by changing AI settings.
Related guides
Need help?
Describe one problem and the installed versions. Never send passwords, license keys, API keys, payment details, or member records.