Troubleshooting
Most things that look broken in Business-Gym are one of three things: a connector that is not configured, a capability that is deliberately dark, or an approval whose outcome you have not read yet. This page is a symptom index — find the symptom, read the cause, apply the fix.
A good share of the entries below end in “this is working as designed.” That is deliberate. Business-Gym stops visibly rather than inventing a result, so an honest stop can look like a fault until you know what you are seeing.
Why did nothing happen after I approved something?
Section titled “Why did nothing happen after I approved something?”Approving is your decision, and the outcome is the separate record of what the system did with it. The two can differ, and when a customer never got a reply this is almost always where the answer is.
| Symptom | Cause | Fix |
|---|---|---|
| You approved an item and the thing you expected did not happen | Approving is a decision, not a result. The action can still be recorded as skipped or failed | Open the approval history row and read the outcome. executed means it ran, skipped means nothing changed, failed means it was attempted and did not complete |
| You clicked an approve link in an email and the draft reply was not sent | Emailed links can decide workflow approvals only. Anything side-effecting — a reply, a forward, a filing, a CRM write — is refused with “This approval must be decided in the app, not via an email link” | Decide it in the app with a real session, on the /approvals page |
| A customer field write-back was approved but Dynamics did not change | This was a real defect and the write path has since been fixed. Where the outcome reads skipped, the capability was dark at the time and nothing was written | Read the outcome. executed means the value reached the CRM. skipped means it did not, and the change has to be made again once the capability is on |
| Marketing content is marked scheduled but never published | Scheduling stages an approval and stops there. It never calls a publish transport | Approve the staged item in the queue. See marketing |
| Undo on an approval no longer works | Undo is bounded by a window, and the window has closed | Correct the action by hand in whichever system it landed in. Act straight away next time rather than at the end of a session |
Why is my queue empty, or my head doing nothing?
Section titled “Why is my queue empty, or my head doing nothing?”An idle team is usually correct rather than broken, because Business-Gym only wakes for three reasons and does nothing at all the rest of the time. That is what keeps it cheap when nothing is happening.
| Symptom | Cause | Fix |
|---|---|---|
| Nothing arrives in the approval queue | Your team wakes only when an external signal arrives, when a schedule fires, or when you ask it something. None of those has happened | Send something into a connected mailbox or channel, wait for the scheduled beat, or ask a head directly |
| A head appears to do nothing in its area | Its autonomy dial is at off or supervised, so it proposes rather than acts — or the tenant-wide panic switch is engaged, which forces every head down to supervised | Check the head’s dial and the panic state in Settings. See the autonomy dial and the panic switch |
| A head that was acting has quietly gone back to proposing | Autonomy auto-rollback dropped that capability to supervised after its reject or error rate crossed a threshold | The rollback is recorded in the head’s audit trail. Read what triggered it before raising the dial again |
| A head answers a question with nothing useful | It has no knowledge source connected, so it has nothing to reason from | Connect a knowledge source — see data sources |
Why does a step say “not connected” and stop?
Section titled “Why does a step say “not connected” and stop?”The connector that step needs is not configured, and the step is telling you the truth rather than inventing a result. The item queues instead of continuing, and it is never reported as done.
This is the single most common “bug report” that is not a bug. A step that quietly claimed success it did not achieve would be far worse — you would find out weeks later that a reply never went out.
| Symptom | Cause | Fix |
|---|---|---|
| A step renders “not connected” and the item waits | The connector is not configured for your workspace | Connect it on the Integrations screen. The step resumes on the next run. This is intended behaviour, not an error |
| A DATEV action looks available but nothing reaches DATEV | DATEV is not connected. The effector module exists and is wired into the action runner, but every operation is dark | Nothing to fix — the connector does not exist yet. See DATEV for what to do meanwhile |
| Instagram DMs never arrive, though comments do | The DM sub-capability is not active — instagram_manage_messages is pending App Review. Comments are live; DMs honestly degrade instead of failing | Work Instagram DMs in Meta’s own tools until the capability lands |
| You cannot create or change a calendar event | The Microsoft 365 connection is granted read scopes only (Calendars.Read). There is no write path | Create the event in Outlook. Business-Gym reads it back |
| The full email body will not load on a triage item | The mailbox is not connected, needs reconnecting, or the connector is unconfigured — the panel says which | Reconnect that mailbox. The panel never fabricates a body, so a message here always means a real gap |
| A connector is listed but its buttons are disabled | It is shown deliberately as “Coming soon” so the gap is visible rather than hidden | Check integrations — the status matrix states what each connection reads, writes and only proposes |
Why did a working connection stop syncing?
Section titled “Why did a working connection stop syncing?”Delegated Microsoft 365 access expires. The consent behind a knowledge connection has a rolling horizon of roughly 90 days, and when it lapses the sync stops rather than silently returning stale results.
| Symptom | Cause | Fix |
|---|---|---|
| A knowledge connection stops syncing after months of working | The delegated token reached its ~90-day consent horizon | Use Renew now on the connection card. Within fourteen days of expiry an amber “Token expires in Nd” pill appears next to it. Your picked folders and synced documents are kept |
| The card reads “Reconnect needed” | The consent has already lapsed | Use Reconnect now, which restarts the consent flow on the existing connection |
| The last sync summary shows “N failed” | Some files could not be read. The card separates temporary problems (auth, throttling, server errors) from permanent ones (a password-protected or unsupported file) | Use Retry failed for the temporary ones. The button is disabled when every failure is permanent, because a re-run cannot help |
| A mailbox stopped producing inbound items while others kept working | That connection was flagged reauth_required and skipped, so one dead mailbox never stalls the rest | Reconnect that mailbox specifically. See email and channels |
Why was I never told an approval was waiting?
Section titled “Why was I never told an approval was waiting?”There is no push notification infrastructure in Business-Gym, on web or mobile. Your phone will not buzz when an item lands, and there is nothing to subscribe to in the app.
| Symptom | Cause | Fix |
|---|---|---|
| No push notification for a new approval | No push infrastructure exists. There is also no native mobile app — no iOS app, no Android app | Use the Teams and email digests from your Concierge channels, or open /approvals yourself |
| You registered a device and still get nothing | Device registration records the token. Delivery itself is dark behind a flag and an unconfigured provider | Nothing to fix at your end. Plan around the digest cadence for anything time-critical |
| You want to approve from your phone | Approving works in a mobile browser; most of the rest of the platform is web-only | Use the responsive web /approvals page. See who can approve, and where |
Why is a screen empty when I know there is data?
Section titled “Why is a screen empty when I know there is data?”Business-Gym shows an honest empty state rather than back-filling rows it never recorded. An empty screen usually means the underlying record starts later than the events you are thinking of.
| Symptom | Cause | Fix |
|---|---|---|
| The Sent ledger is empty though replies definitely went out | The ledger only holds sends recorded after it was switched on for your environment. Earlier sends were never written to it | Nothing to fix. The screen says “Nothing sent yet” rather than inventing rows. See the outbound ledger |
| An OKR key result stays unmeasured | Its metric connector reports itself as not connected, so no value can be read | Connect the source, or type the value with the Update control. See goals and OKRs |
| A cockpit tile shows “not connected” instead of a number | A dark or unconfigured reader degrades honestly rather than showing a fabricated count | Connect the source behind that tile. See the overview cockpit |
| The steps preview on an item shows only one step | Actions are single-verb today, so a proposal is one action rather than a plan | Expect the follow-up as a separate item with its own approval — see the inbound → approve → execute loop |
What if a Head proposes something plainly wrong?
Section titled “What if a Head proposes something plainly wrong?”A wrong proposal is almost always a playbook that matched when it should not have, rather than the head misunderstanding the item in front of it. Reading the matched playbook on the item detail tells you which rule fired.
Reject it. Your rejection is recorded, and the item stops there — nothing partially executes on a rejected approval. Then look at the matched playbook, because the same rule will fire again on the next similar item.
One thing to be clear about: your decisions do not yet tune future proposals. The execute → outcome → learn loop is the intended design and is not live, so rejecting a bad proposal today records the decision without changing tomorrow’s draft. See how your team learns.
What should I do when nothing here matches?
Section titled “What should I do when nothing here matches?”Capture the specific row before you escalate — the approval id, the connection name, or the item you were looking at. Almost everything on this page is diagnosed from one row rather than from a description of the whole system.
Three checks are worth doing first, because they resolve most of what is left:
- Read the approval outcome.
skippedandfailedare silent, and they explain most “it did not work” reports. - Check the connector on the Integrations screen. A step waiting on a missing connection looks identical to a stalled system.
- Check the autonomy dial and the panic switch. A paused team is indistinguishable from a broken one until you look.
If the behaviour still does not match what is documented, treat that as a documentation bug worth reporting. The pages here are written from the shipped behaviour, and a page that has drifted from the product is a real problem — see integrations for how limits are meant to be stated.