Opportunity Manager®: Knowledge & Support

Troubleshooting & FAQ

This page compiles common Opportunity Manager® errors, their causes, and resolutions, drawn from support conversations with OpFocus (our OM development partner) and internal Salesforce admin discussions. Use it as a first stop before opening a new support case.

Permissions & Licensing

Users see errors on specific Opportunity Manager fields/components

Cause: The user's Salesforce license or permission set assignment is incomplete.

Resolution:

  • Confirm the user has the 'Opportunity Manager' permission set assigned — it should grant access to all OM components.

  • If the error is not isolated to specific fields, double-check that the user's OM license (seat) is allocated properly (Command of the Message, MEDDPICC, or both).

  • If a user is missing an Account Planner/Whitespace seat, confirm that seat type was granted, especially on older versions.

"Cannot deserialize instance of string from START_ARRAY" / license verification failures

Cause: Typically tied to the Account Planner field not being on the page layout, or a scheduled license verification job failing.

Resolution:

  • Verify the Account Planner field is present on the layout for the affected object/version.

  • Check Setup → Scheduled Jobs for FMOppMgr License Verification. This job pings Force Management daily to confirm the license is valid — if it's deleted, the app shuts off. It should not have an end date.

  • Confirm the license key being used is valid and current (use the "Validate License" button in OM Configuration).

Client sees a permission/access error tied to a package class (e.g., Apex class access)

Cause: This is a user permission issue — the running user doesn't have the OM package permission set assigned.

Resolution: Confirm the affected user(s) have the OM permission set assigned. Use a tool like PermComparator (login to the affected org) to identify differing permissions between a working and non-working user.

Does exporting OM data require an active license?

Answer: No — an active license is not required to export data from OM.

Unexpected CoM (Command of the Message) settings appearing without a CoM license

Cause: Leftover custom setting records from a prior license configuration (e.g., a license key was temporarily shared/tested across orgs).

Resolution: Go to Setup → Custom Settings → GA Score Weighting → Manage, and delete any custom setting record that starts with COM if the org is MEDDPICC-only.

Errors in Apex / Package Code

NullPointerException in FMOppMgr managed package trigger (e.g., "Opportunity update failing")

Cause: The error occurs when the running user is not found as an actual User record — this typically happens with integration users, system-generated users, or other non-standard running-user contexts (not regular sales reps).

Resolution:

  • Identify what kind of user is triggering the error (integration user, scheduled job running user, etc.) — this is required before OpFocus can patch the code.

  • Check whether the job/process is scheduled and who its running user is (Salesforce User IDs starting with 005 are typical user records).

  • Note: this may require a package code update from OpFocus rather than a config fix on our end, and may need to go through a formal ticket/patch process depending on client support budget.

System.LimitException: Apex CPU time limit exceeded

Cause: The transaction took too long — often because the client's org has many Process Builders/flows also running on the Opportunity object, pushing the transaction over Salesforce's CPU limit. This is not something the OM package can "optimize away" further.

Resolution: Check for other automation (Process Builders, flows, triggers) on Opportunity that may be stacking with OM's trigger and pushing the transaction over the limit. CPU limit issues are notoriously difficult to diagnose without debug logs with profiling turned on.

UI / Display Issues

Relationship Mapper: contacts won't drag/move

Cause: The drag functionality is built with jQuery; there may be a script conflict in the org, or it's tied to a specific OM version.

Resolution: Confirm the OM version in use. Attempt to replicate in a clean/demo org on that same version before escalating — this issue has not always been reproducible.

Assessment spider/radar graphs appear as two different sizes

Answer: This is expected behavior, not a bug. The graph is sized dynamically to its container — screen size and the amount of information shown will change the rendered size.

Admin tab → "Manage Documents" section is blank / missing icons

Cause: This is a data issue, not a package issue — someone deleted custom setting record(s) under Setup → Custom Settings → App Documents → Manage Records. A package upgrade will not restore this, since the package does not contain or manage this data.

Resolution: Have the client either restore the specific deleted record, or delete all App Documents custom setting records and rebuild from scratch, rather than trying to isolate the one causing the issue. Ask the client for a screenshot of Setup → Custom Settings → App Documents → Manage Records to confirm.

Generic browser/JS errors (e.g., "NoErrorObjectAvailable")

Answer: This type of error generally indicates a Salesforce/browser-level error occurred, and when the browser tried to access the underlying error info, that also failed. It's usually not related to OM specifically and is difficult to diagnose without being able to reproduce it. Check Salesforce debug logs first; if nothing OM-related shows up, it's likely a platform-level issue.

Reports & Custom Report Types

Can't add "Assessment Last Completed"/"Most Recent Review" to a custom report

Cause: "Last Completed"/"Most Recent Review" as shown in the OM UI is not an actual field — it's the Created Date of the Opportunity Assessment record, displayed with a friendly label.

Resolution:

  • To report on this, use the Assessment object's Created Date field directly, or set up a roll-up summary field on the Opportunity that captures the MAX Created Date of related Opportunity Assessment records (gives "most recent assessment" per opportunity).

  • If using a custom report type that's part of the managed package, note that subscribers generally cannot edit report types included in the package — clone the report type first, then modify the clone.

  • Orgs running the new SLDS 2 theme may not have a direct way to edit report layouts the same way SLDS 1 allowed — check with OpFocus for SLDS2-specific steps if the field still isn't selectable after cloning.

Configuration, Theming & Customization

SLDS 2 theme / dark mode support

Answer: OM does not have full built-in dynamic theming for SLDS 2 (including dark mode) as of this writing. Some component styles (e.g., mint-green stage indicators) may be hard-coded to standard Salesforce component styles rather than tied to org theme colors. Enabling SLDS2 may require identifying and replacing custom CSS with the new SLDS2 CSS style hooks — check with OpFocus before rolling this out broadly, since it is not a quick change.

Disabling Lead Manager / lead triggers

Answer: Lead triggers cannot be disabled outright. If a client turns off the "Lead Manager" feature in OM settings, the underlying triggers still run, but they only act on OM-owned fields and won't do anything if Lead Manager is off. This should not interfere with a client's own lead routing unless their routing logic depends on OM's lead fields specifically.

Removing the "Support" button from the Admin tab

Answer: Removing this button requires an app/package update — clients on older versions who haven't upgraded will still see the button and it will route to the old link. When planning this change, put a stopgap in place (e.g., redirect the old link to techsupport@forcemanagement.com) so implementation materials referencing the Support feature don't need to be rewritten immediately.

Version Upgrades & Install

General install/upgrade steps

  • Install the current package version via the standard Salesforce package install URL (obtained from OpFocus/Force Management per release).

  • You cannot install an older package version into an org that already has a newer version installed.

  • After updating a license key, if a client doesn't see new features, confirm they're actually on the version tied to that key — updating the license key alone does not upgrade the package version.

Named Opportunity dates default to current year instead of next year (renewal opportunities)

Status: Known open issue, not yet resolved as of this writing.

Context: When a renewal opportunity auto-creates after an existing opportunity closes, the new opportunity's date reflects the current year rather than the year the existing license actually expires. Confirm with OpFocus whether this is a flow-based or hard-coded process before troubleshooting further, since it varies by client setup.

Salesforce SOAP API login() deprecation (versions 31.0–64.0)

Answer: OM's flows and triggers use platform events, not the SOAP login() API, so this Salesforce-wide deprecation does not affect standard OM automation. Confirm with OpFocus if a specific client has a custom external integration using SOAP login() calls.

Salesforce Connected App / External Client App security requirements

Answer: The OM managed package (non-AppExchange version) includes a connected app used for Lyearn SSO, which is unused by most clients. The AppExchange version does not include a connected app at all. Most clients do not need to take action for Salesforce's connected app security requirements unless they are actively using that SSO integration.

Additional Issues (from extended history)

Duplicate Contacts / Contact Role sync issues

Cause: The Contact Role sync trigger (FMOppMgr.OpportunityContactRole) can conflict with other automation running on the same records — for example, Salesforce CPQ document generation running at the same time can trigger row-locking errors.

Resolution:

  • If a client sees UNABLE_TO_LOCK_ROW errors during Contact Role sync (e.g., while generating CPQ quote documents), this is a timing/concurrency conflict, not a data problem. Ask OpFocus whether the Contact Role sync can be made asynchronous for that client — this requires a new package version, not a quick config change.

  • Duplicate contact creation tied to Contact Role sync has been fixed in later versions (e.g., clients on 2.15 seeing this were advised to upgrade to 2.18). Confirm the client's version before assuming it's a new bug.

"Economic Buyers (Consolidated)" / "Champions (Consolidated)" fields reset to null after save

Cause: "Consolidated" fields are reporting fields that join together all related EB/Champion (or other related object) Titles into a single semicolon-delimited field — they are not meant to be edited directly.

Resolution: If a client is trying to directly populate a Consolidated field and it reverts to null, they're likely trying to use OM without going through the standard UI. Point them to the correct related-list components (EB, Champion, Value Driver, Differentiator, Proof Point, etc.) on the page layout to create records the standard way — the Consolidated field will populate automatically from those.

Relationship Mapper strips org logo/branding from the page

Root cause (historical bug, Jira OM-196): The original developers of the Relationship Mapper added CSS overrides that affected all Salesforce styling, not just the mapper component. Opening the mapper could remove the org's Salesforce header branding, and closing the tab did not restore it.

Resolution: This was identified as a bug and fixed. If a client reports this on an older version, recommend upgrading. Note: the Relationship Mapper does not have its own customizable logo/branding — a client asking to "add branding to the mapper" is a different (unsupported) request from this bug.

Can't delete a custom field ("assigned to an app")

Answer: Salesforce won't tell you directly where a field is referenced. In Object Manager, open the field and use the "Where is this used?" button — it lists every page layout, Lightning page (FlexiPage), flow, etc. that references the field, including places you might not expect (e.g., a field placed under an unrelated tab).

Changing the data type of a field referenced in a Screen Flow

Answer: You can't directly edit a field type while it's referenced in an active flow. Create a new version of the flow with the field removed, activate that version, then delete every old flow version that still references the field. Once the field type is changed, create a new flow version that adds the field back.

Forcing a specific date format (e.g., always MM/DD/YYYY) on an editable field

Answer: Not possible outside of the user's locale settings — Salesforce date/datetime display format is locale-controlled, and there's no native way to force a fixed format on an editable Date field. A formula/text field can force a format but won't be directly editable. Building a fully custom Lightning component to solve this is possible but expensive to build and maintain going forward — treat this as a "nice to have" and confirm there's a real business need before investing in it.

Cases in OM appear to come from a former employee

Cause: OM's "Create a Support Issue" feature (and standard Salesforce Web-to-Case/Web-to-Lead/Email-to-Case) run under the org's Default Workflow User, set under Setup → Process Automation Settings. If that user is deactivated or was a departed employee, cases/leads can still show as coming from them.

Resolution: When offboarding a Salesforce user, check and update the Default Workflow User assignment as part of the offboarding checklist.

Integration/API users being asked for security questions or losing access

Answer: If an integration is properly configured with a Connected App using the Client Credentials OAuth flow, it should not need an individual user's login credentials or trigger security/verification questions. If a vendor's integration is hitting security questions or getting locked out, they are very likely authenticating incorrectly (e.g., still using a named user's credentials instead of the dedicated integration/API user). Recommend using the OAuth JWT Bearer flow for system-to-system integrations — Salesforce's own guidance discourages the username-password flow due to credentials being passed back and forth, and it should only be used when no other grant type is available.

Confirm actual installed package version before troubleshooting

Answer: Don't assume a client is on the version you intended to send them — always verify the actual installed version in their org (Setup → Installed Packages) before troubleshooting a suspected version-specific bug. Mismatches (e.g., a client showing 2.12 despite being sent a 2.18 install link) do happen, often due to installing in the wrong org/sandbox or an incomplete install.

When to Escalate to OpFocus (Dev Team)

  • Any error tied to Apex/trigger code inside the managed package (e.g., NullPointerException, CPU limit issues tied to package code)

  • Version-specific bugs that can't be replicated in a demo/sandbox org

  • Anything requiring a patch or new package version

  • SLDS2/theming questions beyond basic color hex changes

Note: OpFocus support time may be budget-limited per client engagement — confirm with the account owner before requesting in-depth investigation on a client's behalf if it may exceed contracted hours.