Appearance
Common issues
A triage list of the most-reported issues that don't already have their own article. If you're hitting one of these, try the fix below before opening a ticket.
For agent-specific issues, see Troubleshooting agents. For status of an ongoing incident, see Status & incidents.
"I just signed up and can't log in"
Cause: the verification email's link expired, or you typo'd your email.
Fix: request a fresh verification link from the sign-in screen. If you typo'd your email, sign up again with the correct one — your first attempt's tenant is in a half-provisioned state and will be cleaned up automatically.
"I clicked the magic-link email but it says 'expired'"
Cause: magic links are good for 15 minutes from sending.
Fix: go back to the sign-in screen and request another one. We don't shorten the window any more than 15 minutes because anything shorter creates more support tickets than it prevents bad outcomes.
"Search isn't finding the thing I know exists"
Cause: OpsMerge's global search indexes are eventually consistent. New objects are searchable within a few seconds, but if the object was just created, search may not have caught up yet.
Fix: wait 10 seconds and retry. If it's still missing, search by an exact field (e.g. exact ticket number or client name) — that bypasses the fuzzy index. If still nothing, the object may have been created under a different client/tenant than expected; check your filter.
"Settings page is missing the section I expect"
Cause: that section is behind a permission your role doesn't have.
Fix: check your role (Profile menu → Your roles). If you should have access but don't, ask an Admin to grant the missing permission. The most common case: recently-added permissions don't backfill to existing roles automatically — see Users & roles.
"Invoice PDF won't download / opens blank"
Cause: PDF regeneration is async; if you're trying to download immediately after an invoice change, it might not be re-rendered yet.
Fix: wait 30 seconds and retry. If it's still blank, Settings → Billing → Invoices → ⋯ → Regenerate PDF forces a fresh render. If that still fails, contact support with the invoice ID.
"Email gateway: client emails aren't becoming tickets"
Causes: several. In rough order of frequency:
- The client's domain isn't set on their client record, so we can't route inbound mail.
- The inbound mail hit DKIM/DMARC/SPF failure and we're blocking it (see Email gateway settings).
- The sender's address is on the blocklist.
- The inbound mail server (mx-eu.opsmerge.cloud) is the wrong destination — clients should be sending to the mailbox address you've configured.
See Email gateway for the diagnostic flow.
"Agent shows online but I can't run scripts on it"
Cause: the agent's NATS connection is up (so it shows online), but the per-agent NATS credentials weren't fully rendered server-side, so script commands silently fail.
Fix: force a re-register from the endpoint: re-run the installer with --force. If you can't physically touch the endpoint, Agent page → Settings → Re-issue credentials does the same thing remotely (when it works — the bootstrapping has its own NATS dependency).
"QuickBooks sync isn't pushing invoices"
Causes:
- The QBO connection has expired (OAuth tokens expire if unused for 100 days).
- A line on the invoice is missing
service_id(every line needs one for QBO push). - A line on the invoice is missing
tax_code_id(UK VAT calculation requires it). - QBO is rate-limiting and we're backing off.
Fix: Settings → Integrations → QuickBooks → Sync log shows what failed and why. Most errors are self-explanatory.
For OAuth-expiry, click Reconnect. For per-line errors, edit the line on the invoice — the invoice editor will block save if service_id or tax_code_id are missing on UK-based tenants.
"RustDesk / Connect remote session won't start"
Causes:
- The agent on the endpoint hasn't been told to install Connect — Connect is per-policy and may be disabled for that client.
- Connect is enabled but the per-field inherit logic disagrees with what you expect (see Remote control).
- Endpoint is on a network with restrictive UDP (Connect prefers a UDP-based hole-punch path and falls back to relay).
- RustDesk service on the endpoint has stalled.
Fix: check the endpoint's policy → RustDesk tab → all three settings (enabled, auto_install, configs) and confirm they evaluate the way you expect. If they look fine, restart the RustDesk service on the endpoint (Restart-Service rustdesk from a script).
"Cloudflare 5xx errors when using OpsMerge"
Causes: something on our edge or origin is upset. Possible causes:
- Brief deploy window (we deploy several times a day; brief 5xx during nginx reload is normal).
- Genuine incident — see Status & incidents.
- Your network has a path issue to Cloudflare's edge.
Fix: check the status page. If everything's green, refresh once — it's almost always a transient. If it persists, traceroute to app.opsmerge.cloud and tell us what you see when you contact support.
"I forgot my password and the reset email isn't arriving"
Cause: spam folder, or the email bounced.
Fix: check spam. If genuinely missing, contact support — we can manually re-trigger the reset.
For Owners who've lost both password and access to their email, recovery is manual and involves us verifying you. That's deliberate — we don't want an account takeover to be a single email-reset away.
"Audit log says someone did X but they swear they didn't"
Causes (in order of likelihood):
- The action came from a script using their PAT.
- Their session was hijacked.
- They actually did it and forgot.
Fix: check the audit log entry's IP and User-Agent. If they don't match a known device, treat as a compromise: reset password, revoke all sessions, audit recent actions. Contact support for help.
When to contact support
If you've tried the relevant fix above and it didn't help, or if you're seeing something not on this list, open a support ticket. The faster you can paste:
- A specific URL or area of the app where it happens.
- A timestamp (UTC ideally).
- The error message or screenshot.
the faster we can find the cause.