Back to Articles|Published on October 28, 2026|20 min read

Cirra AI Article

Salesforce User Access Policies Testing Before Role Changes

A 2026 guide to Salesforce User Access Policies testing before role changes, with overlap and assignment worksheets, explicit grant and revoke checks, license-failure diagnosis, and sandbox approval criteria.

By Cirra

Salesforce User Access Policies Testing Before Role Changes

Summary

  1. 01Only the matching active policy with the lowest Order applies, and a policy action cannot trigger another policy. Put the approved transition’s intended grants and revokes in the winning policy.
  2. 02Approve required and prohibited access before testing. Keep business intent, predicted policy behavior and observed evidence separate, and inventory all remaining assignment sources.
  3. 03Test existing users updated into criteria separately from already-matching users. Treat manual application as a distinct execution route with an approved target population.
  4. 04Acceptance requires assignment readback and representative capability tests. Report missing, unexpected, inaccessible, untested and unresolved outcomes separately within the declared scope.
  5. 05The article supplies fictional worksheets and a proposed test pack; no policy was executed. Equal-Order tie-breaking and all-or-nothing action behavior remain unresolved.
Inside this article
  1. 01Executive Summary
  2. 02Introduction and Background
  3. 03Key Changes
  4. 04Implementation Considerations and Process Changes
  5. 05Policy Overlap Matrix and Role Change Test Cases
  6. 06Assignment Verification and Failure Diagnosis
  7. 07Data Analysis and Evidence
  8. 08Implications and Future Directions
  9. 09Conclusion

Executive Summary

The central answer to Salesforce user access policies testing is that two matching active policies are competitors: Salesforce applies the policy with the lowest Order, and an action performed by a policy cannot trigger another policy. A Sales-to-Service transfer therefore needs an explicitly designed winning action list, including intended revokes. Do not assume a second matching policy will complete the transition. Equal-Order tie-breaking was not established by the opened documentation. [1]

Test event eligibility before interpreting a missing assignment. The proposed pack checks existing users updated into criteria separately from already-matching users, and keeps manual application as a distinct execution route. Leaving old criteria should not be treated as proof that every prior entitlement disappeared. Inventory actual revoke actions and all remaining assignment sources, then compare the result with an independently approved expected state. NIST’s access-control testing guidance similarly distinguishes policy specifications from their intended function. [2] [3]

Use a Winter ’27 sandbox, recording its actual edition, release, patch, API version and policy interface. Salesforce identifies API 68.0 for that release; no sandbox version or policy execution was observed in this research. The proposed procedure starts in the native policy interface. This report provides fictional overlap and assignment worksheets, explicit event controls and a proposed discrepancy calculation, with every execution result initially unobserved. [4]

Acceptance requires both assignment readback and targeted effective-access tests. Salesforce’s access guide documents summary views and assignment inspection, while OWASP recommends testing the permissions established during design. Report missing required assignments, unexpected assignments, inaccessible evidence and untested cases separately. A zero discrepancy result applies only to the declared scope; ISTQB cautions that testing cannot establish the absence of defects. AI may suggest overlap cases or compare approved expectations with observations, but it does not approve business access or supply a verified native dry-run engine. For connected tools, require review of actual inputs and human approval for sensitive writes, consistent with the MCP specification. Approve activation separately from any manual application to existing employees. [5] [6] [7] [8]

3Maximum applicable-user filters in the native authoring workflow
10Maximum user-field filters in the native authoring workflow
20Maximum actions in the native authoring workflow

Introduction and Background

Salesforce user access policies testing should start with an approved destination state for the employee. Configuring automation before agreeing on that state reverses the decision: the implementation starts defining what the employee should receive. OWASP’s authorization guidance similarly puts requirements before the choice of platform or framework. [6]

Consider a Sales-to-Service transfer (Hypothetical Example). All names, policy orders, assignments, fixtures and calculated results in this report’s examples are fictional. The employee, Avery Example, must receive Service Console access, Case Handling permissions and membership in a Service queue. Sales Export must be absent after the transfer. Shared Collaboration remains approved. These are proposed business decisions, not Salesforce defaults or observations of a customer organization.

This report supplies a proposed test pack, rather than claiming a completed implementation. Existing tutorials provide useful starting points: Salesforce Ben recommends sandbox testing; SalesforceFox illustrates a transfer with both removal and addition; sf9to5 walks through a basic test configuration. The additional decision here is whether an entire proposed policy collection, together with remaining assignment sources, produces the approved state. [9] [10] [11]

The research cutoff is October 28, 2026. The release anchor is Winter ’27. Salesforce’s developer guide identifies API version 68.0, but that published release fact does not establish the version of a particular sandbox. No authenticated organization was available for this research, and no policy was executed. The test owner must record the actual environment before accepting any result. [4]

The expected-state sheet should separate business intent, predicted policy behavior and observed evidence. NIST’s access-control verification guidance treats the difference between policy specifications and their intended function as an explicit testing problem. That distinction is the basis for the procedure below. [3]

Key Changes

The changes in this section are changes to the testing process proposed for a role transfer. They are existing policy semantics, not claimed Winter ’27 inventions.

Resolve competition before changing Order

Salesforce documents that only the matching active policy with the lowest Order applies. It also documents changed-into-criteria eligibility for existing users, direct-membership limits for group or queue criteria, insufficient-license reporting, and a Recent User Access Changes view that excludes later-overridden changes. Equal-Order tie-breaking and all-or-nothing action behavior were not established by the opened documentation. Keep those cases unresolved. [1]

A separate documented rule is critical: an action performed by a policy cannot trigger another policy. A grant policy followed by a revoke policy is therefore not a reliable design for a single matching event. Put the approved transition’s intended grants and revokes in the winning policy, subject to its supported actions and tested prerequisites. [1]

For the fictional transfer, define:

  • Service Transition: Order 10, Department equals Service; grant Case Handling, Service Console and membership in the approved Service queue; revoke Sales Export. Salesforce supports queue assignments through user access policies; the queue name and approval remain fictional design inputs in this example. [12]
  • Employee Baseline: Order 30, an applicable broader employee criterion; grant Shared Collaboration.
  • Expected winner: Service Transition when the approved update makes the fixture eligible for both active policies.
  • Expected residual state: Shared Collaboration remains required, but its presence must come from a confirmed assignment source.
  • Design review: If Shared Collaboration is absent initially, revise the transition design or document another approved assignment source before execution.
  • Unresolved tie: If both policies have Order 10, assign an owner and test explicitly; do not invent a secondary sort key.

The sample order values are fictional design inputs. The broader policy’s actions are not part of the predicted winning action list.

Distinguish automation from a manual migration

The native authoring workflow offers creation, update-into-criteria, and combined triggers. It documents up to 3 applicable-user filters, 10 user-field filters, and 20 actions. Those are configuration constraints, not evidence that a proposed collection has been tested. [13]

A manual policy can apply to a selected subset rather than every eligible user. Trailhead also explains that manual policies can run more than once, with manual initiation. Consequently, “manual” should describe an approved execution choice, not an assumption that repeating the application is harmless. [14] [2]

Treat configuration and capability as separate evidence

Salesforce’s access-troubleshooting guide distinguishes permission assignments from the object, field and record access that they enable. It describes summary views introduced in Summer ’24 and documents assignment inspection through PermissionSetAssignment. An assignment readback is useful evidence, but it is not a substitute for testing the employee’s intended task. [5]

A second assignment writer can also affect the result. Okta documents a Salesforce integration configuration in which a profile push replaces permission-set selections. Inventory such automation when present; do not assume that a native policy is the only writer or that Okta is installed in an uninspected organization. [15]

An assignment can be absent while another approved or unexpected source still grants a capability. Conversely, an assignment can be present while a specific task remains unavailable. Keep both columns to preserve the acceptance question.

Implementation Considerations and Process Changes

Record the sandbox before testing

Identify the environment, operator and evidence source. Salesforce places the organization edition in Company Information and documents ways to check API version. Its REST Versions resource returns version labels and resource links. Separately record the inspection client’s chosen API version. [16] [17]

Use the following proposed header:

  • Organization: Sandbox name and organization identifier, with an explicit nonproduction label.
  • Edition: Actual Organization Edition; otherwise unobserved.
  • Release: Actual platform release and patch evidence.
  • API: Available version evidence and the specific version used by each query or tool.
  • Interface: Actual User Access Policies and Enhanced Interface settings.
  • Identity: Executing administrator and representative capability-test user.
  • Configuration: Policy snapshot identity and the approved change-ticket reference.
  • Timing: Baseline capture, approved event and final readback timestamps.
  • Scope: Named entitlement types, capability tests and exclusions.

Salesforce documents checking release and patch information through the organization’s releaseVersion.jsp page. Native policy Help lists Enterprise and Unlimited availability and the Manage User Access Policies permission. Trailhead states that enabling policies automatically enables the enhanced interface; the worksheet should still record what the tested org actually shows. [18] [13] [19]

Mark inaccessible environment fields unobserved, name the dependency, and keep the associated test unapproved.

Inventory policies and all assignment writers

Inventory each policy’s identifier, name, status, trigger, Order, criteria and complete actions. Preserve the approved snapshot before choosing fixtures.

Keep the assignment inventory separate:

  • Licenses: Distinguish permission-set licenses and package licenses from the employee’s base user license.
  • Permission sets: Identify direct assignments and their approved purpose.
  • Permission set groups: Record the assigned group and inspect its permission contribution.
  • Public groups: Distinguish direct membership from an inherited route.
  • Queues: Preserve both direct membership and the source of broader membership.
  • Other writers: Identify any configured identity integration, Flow, script or manual process that changes the tested state.
  • Visibility: Mark each source inspected, inaccessible or excluded; an empty result alone is not a completeness claim.

For Workato, its own documentation says field-level security can prevent connector fields from appearing, and its FAQ describes permissions inherited from the connected Salesforce user. Record that connector’s inspection identity and visibility boundary when applicable. [20] [21]

If Okta is configured, inspect its documented null-value push setting and API-credential test. A credential test does not approve eventual access. [22]

For configured Microsoft Entra provisioning, its Salesforce Sandbox guide recommends a single-user start and on-demand validation before expansion. Record synchronization separately from policy actions. [23]

Approve the oracle independently

The test oracle is the approved expected result. Obtain access-owner approval before final readback, so observed assignments do not define acceptance.

This is an application of NIST’s distinction between intended policy and implemented specifications. It is also why an offline simulation is insufficient by itself: NIST notes the difficulty of translating complicated access-control logic into a simulated system. Neither source establishes a native Salesforce dry-run facility. [3] [24]

For each fixture, freeze required assignments, prohibited assignments, permitted exceptions and the capabilities to exercise. Add an explicit “unknown” result. OWASP recommends checking whether permissions defined during design are actually enforced; this report extends that principle into a proposed role-transfer acceptance sheet. [6]

Policy Overlap Matrix and Role Change Test Cases

Table 1 is the policy overlap worksheet (Hypothetical Example). Its names, orders, assignments and outcomes are fictional. All rows are unexecuted. The Salesforce-specific hypotheses follow documented winner and event constraints; no execution is reported. [1]

Fixture and triggering eventMatching policy and OrderExpected winner or eligibilityExpected grants and revokesObserved change and effective-access result
New Service user createdService Transition 10; Employee Baseline 30Service Transition, if configured for createGrant Case Handling, Service Console and membership in the approved Service queue; revoke Sales Export if assignedUnobserved; queue membership unverified and Case task untested
Existing Service user unchangedSame criteria already trueNo creation or changed-into-criteria event suppliedNo new automatic action predictedUnobserved; baseline control
Existing Sales user updated into ServiceService Transition 10; Employee Baseline 30Service Transition, with update trigger enabledGrant Case Handling, Service Console and membership in the approved Service queue; explicitly revoke Sales ExportUnobserved; assignments, queue membership and prohibition untested
Sales user leaves old criteriaDestination policy absent or ineligibleNo cleanup assumptionEnumerate any applicable explicit revokes; otherwise old assignment is a residual risk to testUnobserved; remaining sources untested
Overlap with baseline access absentService Transition 10; Employee Baseline 30Service Transition onlyBaseline policy grant is not predicted; required collaboration remains an acceptance conditionUnobserved; incomplete state unacceptable
Equal-Order overlapBoth policies 10UnresolvedDo not predict either action listUnresolved; isolate tie test
Approved manual applicationSelected eligible fixtureManual application, outside the automatic-winner comparisonApply the approved manual policy’s action listUnobserved; selected and excluded users untested
License shortageEligible Service fixture; required license unavailableEligibility does not prove license successRecord failed license action and every other observed action separatelyUnobserved; rollback unverified
Direct group membership criterionDirect member fixtureEvaluate documented direct-membership eligibilityApply only the eligible winning policy’s actionsUnobserved; membership and task untested
Nested membership criterionMembership only through another group or roleDo not treat inherited membership as direct eligibilityNo eligibility inferred from the inherited route aloneUnobserved; effective access untested
Policy action changes membershipEarlier policy action is the only proposed second triggerNo policy-action cascadeDo not predict a second policy’s grants or revokesUnobserved; capture actions independently

The unchanged-user row controls event eligibility; overlap tests competition; shortage tests failure handling. Check eligibility and prerequisites before attributing a missing grant to Order.

Trailhead demonstrates a created user, timestamped verification and deliberately initiated manual applications. Add transfer-specific expected state and capability evidence to those patterns. [19] [2]

For each approved row, follow the same execution sequence:

  • Restore: Re-establish the documented baseline or use a separate fixture.
  • Capture: Save criteria values, assignments and relevant license availability.
  • Predict: Record eligible policies and the expected winner before the event.
  • Authorize: Confirm the specific sandbox write and affected fixture.
  • Execute: Perform only the approved create, update or manual application.
  • Read back: Capture changed assignments, failures and remaining sources.
  • Exercise: Run the approved positive and negative capability tests.
  • Classify: Mark pass, discrepancy, inaccessible, untested or unresolved.

For integration-driven transfers, test synchronization after isolated native behavior. Microsoft’s small-scope recommendation establishes neither a shared transaction nor a rollback boundary. [23]

Attempt the prohibited operation through the representative user’s approved context. A removed permission-set label alone is insufficient. OWASP’s authorization-testing guidance supports verifying enforcement of the designed permissions. [6]

Figure 01
Prepare and execute the proposed sandbox test
  1. 01Approve expected access

    Freeze required assignments, prohibited assignments, permitted exceptions and capabilities to exercise. Obtain access-owner approval before final readback.

  2. 02Inventory policies and writers

    Record each policy’s status, trigger, Order, criteria and complete actions. Inventory assignment sources and other processes that change the tested state.

  3. 03Restore and capture baseline

    Re-establish the documented baseline or use a separate fixture. Save criteria values, assignments and relevant license availability.

  4. 04Predict and authorize the event

    Record eligible policies and the expected winner before the event. Confirm the specific sandbox write and affected fixture.

  5. 05Execute and read back

    Perform only the approved create, update or manual application. Capture changed assignments, failures and remaining sources.

  6. 06Exercise and classify

    Run the approved positive and negative capability tests. Mark pass, discrepancy, inaccessible, untested or unresolved.

A zero discrepancy count supports acceptance only inside the declared observed scope, alongside passed capability tests and approved exclusions.

Assignment Verification and Failure Diagnosis

Read the assignment and test the task

Table 2 is the proposed assignment-state worksheet (Hypothetical Example). Identifiers and values below are placeholders, not Salesforce record IDs. The owner must replace each source with inspected evidence. Salesforce’s manual-policy instructions explicitly direct administrators to review individual user records after application. [14]

Assignment ID or source placeholderRequired stateObserved stateCapability resultApprover and follow-up owner
Service permission-set assignmentPresentUnobservedApproved Case task untestedService access owner; named operator
Sales Export direct assignmentAbsentUnobservedSales export prohibition untestedSales access owner; named operator
Shared Collaboration group assignmentPresentUnobservedCollaboration task untestedCollaboration owner; named operator
Service queue membership via Service Transition’s Grant actionMembership in the approved Service queue presentUnobserved; compare baseline and post-event membership for the fixture against the policy’s configured queue targetRepresentative queue operation untestedService owner; membership investigator
Relevant permission-set or package licensePresent where requiredUnobservedDependent task untestedLicense owner; named operator
Other inspected permission sourceExplicitly approved or absentUnobservedRelevant restricted task untestedAccess owner; source-system owner

An assignment can be absent while another approved or unexpected source still grants a capability. Conversely, an assignment can be present while a specific task remains unavailable. Keep both columns to preserve the acceptance question.

Use User Access Summary and the available permission summaries for the initial inspection, then investigate relevant sources. The official Admins guide discusses these summary views and the use of assignment queries to attribute permissions. No model-generated Salesforce Object Query Language (SOQL) query is supplied here because none was executed against a release-verified org. [5]

Record access deserves a targeted check. Salesforce’s troubleshooting guidance describes Sharing Hierarchy reasons and membership through roles, groups or territories. Its Admins guide describes UserRecordAccess inspection for up to 200 record IDs. That bound does not represent an executed test. [25] [5]

Diagnose license and unknown outcomes without blind replay

Before applying a policy, inspect the relevant license type, availability and assignment dependencies. Save the evidence used for the precheck. If a license grant fails, compare the actual action results with the expected table before deciding what to do next. Avoid treating the entire policy as either completed or rolled back without evidence.

Separate a runtime shortage from a metadata deployment mismatch. Salesforce documents distinct DeveloperName and PermissionSetLicenseKey identifiers for license targets, and states that a deployed Active policy changes to Design. A policy’s presence after deployment therefore does not establish that it is active or that its license target resolves as intended. [26]

Preserve the policy identity, fixture, event, timestamp, exact failure text, before state and readback. Where an action result is inaccessible, record unknown rather than success or failure. Ask the named owner to approve a targeted remediation after the actual remaining state is understood.

Workato’s documented connected-user permission boundary illustrates why the identity behind a readback matters. A limited inspection can establish what that connection returned; it cannot establish that every relevant source was visible. Repeat an inspection through an approved sufficiently privileged route when the evidence boundary prevents a conclusion. [21]

Attach the worksheet to the change ticket and preserve evidence outside the inspection session. Comparing intended and observed state needs retained evidence. [3]

Figure 02
Assignment evidence and capability evidence
Assignment readback
  • Use User Access Summary and available permission summaries for initial inspection, then investigate relevant sources.
  • An absent assignment can coexist with a capability granted through another approved or unexpected source.
Capability testing
  • Attempt the prohibited operation through the representative user’s approved context.
  • An assignment can be present while a specific task remains unavailable.

Acceptance requires both assignment readback and targeted effective-access tests.

Data Analysis and Evidence

The quantitative core should measure the explicitly tested scope. It should not import unrelated market growth, advertising keyword estimates or unsupported time-saving claims. No customer execution dataset or Salesforce policy-performance benchmark was obtained for this report.

Define the tested assignment universe before computing discrepancies. Let R be required assignments, O be observed assignments within that same universe, and A be all assignments explicitly allowed in scope, including approved exceptions. This report proposes:

Discrepancies = missing required assignments + unexpected assignments.

Here, missing required assignments are R absent from O; unexpected assignments are O outside A. This is a proposed analytical convention, not a Salesforce metric. It applies NIST’s general concern with discrepancies between policy specifications and intended function. Inaccessible assignment types are excluded from the computed universe and reported separately. [3]

For a calculation example (Hypothetical Example), suppose the fixture has 4 required assignments and no additional permitted assignments. Only 3 required assignments are observed, alongside 2 unexpected assignments. Missing required assignments equal 1; unexpected assignments equal 2; the scoped discrepancy count equals 3. Every count in this example is fictional, and the arithmetic is illustrative.

Do not count an untested capability as a missing assignment. Keep a separate result for the prohibited Sales Export operation, and another for the required Case task. OWASP’s recommendation to test designed authorization requirements supports this distinction between configuration comparison and enforcement evidence. [6]

For decision-table coverage, ISTQB defines coverage using exercised feasible columns relative to total feasible columns. The proposed worksheet should therefore record which combinations are feasible and which were exercised, instead of treating its row count as a universal coverage denominator. [7]

For a coverage example (Hypothetical Example), an approved reduced decision table has 8 feasible combinations; 6 have been exercised. Its declared combination coverage is 75%, calculated as 6 / 8 × 100. Report the 2 untested combinations explicitly. This fictional percentage describes that declared table, not whole-org access coverage. ISTQB also states that testing cannot prove the absence of defects. [7]

AI-generated expectations need the same boundary. A test-oracle study covering 24 Java repositories reported that generated assertions could reflect actual behavior rather than intended behavior. It is general software-testing evidence, not a Salesforce benchmark or a measurement of Cirra. Its practical relevance is to keep observed assignments from becoming their own approval standard. [27]

Report missing, unexpected, inaccessible, untested and unresolved outcomes separately. A zero discrepancy count supports acceptance only inside the declared observed scope, alongside passed capability tests and approved exclusions. NIST’s warning about translating complex policies into simulations reinforces why an offline prediction needs environment-specific confirmation. [24]

Implications and Future Directions

Use AI to propose cases and compare approved evidence

Use AI to suggest overlaps and compare readbacks with approved expectations. The access owner defines policy; sandbox evidence confirms or disproves predictions.

Supply fixtures, triggers, policy snapshots, assignment sources and exclusions. Require explicit missing-information flags. The Java oracle study supports separating observation from expectation, without measuring Salesforce prediction accuracy. [27]

Model Context Protocol (MCP) supplies tool discovery and invocation mechanisms. Its specification distinguishes discovering tools from calling them, and recommends confirmation for sensitive operations and showing inputs before execution. Verify tool availability and obtain human approval for writes. [8]

Table 3 compares evidence routes, including Cirra as an AI-administration option. No policy dry-run engine or Cirra policy-specific support was verified.

RouteRole in the proposed testEvidence and approval boundary
Native User Access Policies and user recordsConfigure approved criteria/actions, apply the approved sandbox event and inspect affected usersPreferred execution route; manually selected applications require an explicit approved target set
Salesforce hosted MCPOptional supported inspection through enabled toolsSalesforce documents a read/query-only SObject Reads server; verify enabled tools and per-user visibility before use
Salesforce DX MCPOptional inspection through locally authorized orgs and selected toolsSalesforce documents local org authorization; verify actual tools and outputs for the tested release
Cirra AIOptional candidate-case drafting and supported connected inspection, if tool support is confirmedPolicy-specific capabilities remain unverified here; require connected-user permission checks and human approval for writes

Start natively. Salesforce documents non-mutating SObject Reads and local authorization for DX MCP. Neither establishes full policy visibility or simulation; verify the required support. [28] [29]

Independent Cirra coverage discusses approval before execution, without verifying current tools. Approve actual inputs, target and intended effect at execution time. [30]

Approve activation and existing-user migration separately

Attach expectations, evidence, exclusions, unresolved cases, access owner and reassignment instructions to the change ticket. Include a restoration plan that identifies actual sources to restore, rather than assuming an automatic reverse operation.

Keep activation approval separate from manual migration decisions. Trailhead describes manual policies as deliberately initiated and repeatable. Existing-user targeting therefore needs its own approved population, baseline and readback, even when future automation has passed its tests. [2]

Before expanding an integration, verify its own connection and scoped test results. Okta supplies a credential-test step; Microsoft recommends validating small populations before wider provisioning. These are integration prerequisites, not substitutes for the policy-overlap and capability evidence. [22] [23]

Maintain a release-labelled regression pack as criteria, assignment writers and business access change. Keep approved intent independent of implementation, consistent with NIST’s verification objective. [3]

Conclusion

Salesforce user access policies testing should produce a defensible activation decision: the proposed collection, approved event and inspected assignment sources either support the required state or leave explicit discrepancies and unknowns. A role transfer is ready only when its access owner can trace the expectation to observed evidence.

Begin with the fictional Sales-to-Service example’s underlying method: agree on required and prohibited access, inventory policies and assignment writers, predict eligibility and the winner, and run a narrowly approved sandbox change. Preserve both assignment readback and representative capability results. Authorization testing should verify the permissions designed for the user, rather than merely reproduce configuration labels. [6]

Use the overlap matrix to expose competition, unchanged-user controls, manual applications, license prerequisites and membership distinctions. Keep inaccessible and untested cases visible. Use the assignment worksheet to identify remaining access sources and the owner assigned to resolve each outcome.

AI can help organize candidate cases and comparisons, but an approved expectation must remain independent of observed behavior. A zero scoped discrepancy count cannot prove whole-org least privilege, and a completed decision table cannot prove the absence of every defect. ISTQB’s testing limitation is directly relevant to how the result should be described. [7]

The approval artifact should therefore state exactly what passed, what remains unknown and what must be restored if the change is reversed. Activation and an existing-user manual migration deserve separate approval scopes. No production results or customer outcomes are claimed here; the proposed pack becomes implementation evidence only after the named sandbox tests are actually performed.

External Sources (30)

About

Cirra AI

About Cirra AI

Cirra AI is a software company dedicated to reinventing Salesforce administration through AI-powered tooling built on the Model Context Protocol (MCP). From its headquarters in Silicon Valley, the team has built the first commercial MCP server for Salesforce administration—a hosted service that lets any MCP-compatible AI tool (Claude, ChatGPT, Cursor, and others) connect to a Salesforce org and execute admin tasks through natural language. The product gives Salesforce administrators, revenue-operations teams, and consulting partners the ability to implement configuration changes in minutes instead of hours, while respecting org permissions and maintaining full auditability. Cirra AI's mission is to "let humans focus on design and strategy while software handles the clicks." To achieve that, the company develops two complementary product lines: Salesforce Admin MCP Server – A fully hosted MCP endpoint that connects any AI tool to Salesforce in minutes via OAuth. Administrators describe what they need in plain English—create custom objects and fields, configure page layouts, manage permission sets, build flows, provision users, generate documentation—and the MCP server translates those instructions into standard Salesforce Metadata and Tooling API calls, bounded by the user's existing permissions. No local infrastructure or custom code is required: sign up, authenticate, copy the MCP URL into your AI tool, and start working. Salesforce Skills Library – An open-source collection of domain-specific skills (available at skills.cirra.ai) that supercharge AI assistants with deep Salesforce expertise. Skills cover Apex development with 150-point scoring, Flow creation and validation with 110-point scoring, Lightning Web Component development with the PICKLES architecture methodology, metadata operations, permission auditing, data and SOQL operations, org-wide health audits, architecture diagramming, and Kugamon CPQ management. The skills are installable as a single plugin for Claude Cowork, Claude Code, and OpenAI Codex, or as individual skill files for Claude web, desktop, and ChatGPT. They enable AI assistants to perform complex, multi-step Salesforce tasks independently—run a comprehensive org audit, fix issues flagged in the report, generate field descriptions at scale—without prompt-by-prompt hand-holding. Together, these products address three chronic pain points in the Salesforce ecosystem: (1) the high cost of manual administration and repetitive setup-menu navigation, (2) the backlog created by scarce expert capacity, and (3) the risk of inconsistent, undocumented changes. Early adopter feedback shows time-on-task reductions of 70–90 percent for routine configuration work.

Leadership

Cirra AI was founded in 2024 by Jelle van Geuns, a Dutch-born engineer, serial entrepreneur, and veteran of the Salesforce ecosystem with over 14 years of platform experience. Before Cirra, Jelle bootstrapped Decisions on Demand, an AppExchange ISV whose rules-based lead-routing engine is used by multiple Fortune 500 companies. Under his leadership the firm reached seven-figure ARR without external funding, demonstrating a combination of deep technical innovation and pragmatic go-to-market execution. Jelle began his career at ILOG (later IBM), where he managed global solution-delivery teams and developed expertise in enterprise optimisation and AI-driven decisioning. He holds an M.Sc. in Computer Science from Delft University of Technology and speaks frequently on AI-assisted administration, MCP integration patterns, and human-in-the-loop automation at Salesforce community events and podcasts. The leadership team includes Jeff Bajayo (VP Sales), a seasoned Salesforce and SaaS professional with over a decade of experience, and Latrice Barnett (Advisor, Marketing), who brings 10+ years of partnership and ecosystem marketing expertise from the Salesforce ecosystem.

Why Cirra AI Matters

MCP-native architecture – Rather than building a proprietary agent UI, Cirra embraces the Model Context Protocol as a universal connector, letting customers use the AI tool they already prefer—Claude, ChatGPT, Cursor, or any future MCP-compatible client—while Cirra handles the Salesforce integration layer. Deep vertical focus – The Skills Library encodes thousands of Salesforce best-practice patterns, scoring rubrics, and validation scripts that generic AI assistants lack. This domain intelligence produces higher-quality, more reliable outputs for Apex, Flows, LWC, permissions, and metadata operations than general-purpose prompting alone. Enterprise-grade security – The platform uses OAuth authentication, encrypted endpoints, and inherits the connected user's Salesforce permission model. Cirra never stores Salesforce credentials, and all actions are logged for auditability—critical requirements for regulated industries adopting AI tooling. Works for admins and partners alike – Individual administrators use Cirra to eliminate setup-menu drudgery and respond faster to business requests. Consulting firms use it to scale senior-level expertise across delivery teams, enabling more projects delivered at higher quality and lower cost through improved documentation and test coverage. Accessible to non-developers – Anyone with a paid Claude or ChatGPT subscription can install the skills and connect the MCP server. No coding, no complex integrations—just sign up and start working.

Future Outlook

Cirra AI continues to expand its capabilities with the upcoming Admin Agent (launching June 2026), which will bring fully autonomous multi-step task execution to Salesforce administration. The company is also extending platform compatibility to additional AI marketplaces and broadening its skills library to cover more Salesforce clouds and use cases. By combining open standards, domain-specific intelligence, and a relentless focus on the admin experience, Cirra AI is building the de-facto AI integration layer for Salesforce administration.

Disclaimer

This document is provided for informational purposes only. No representations or warranties are made regarding the accuracy, completeness, or reliability of its contents. Any use of this information is at your own risk. Cirra AI shall not be liable for any damages arising from the use of this document. This content was generated with assistance from artificial intelligence tools, which may contain errors or inaccuracies. Readers should verify critical information independently. All product names, trademarks, and registered trademarks mentioned are property of their respective owners and are used for identification purposes only. Use of these names does not imply endorsement. This document does not constitute professional or legal advice. For specific guidance related to your needs, please consult qualified professionals.