100% native Salesforce app

The semantic layer for Salesforce CRM data.

Trusted, curated context that every agent, tool, and prompt can rely on.

Architecture

Between your AI and your data.

Demand is rapidly increasing for AI tools and agents to access your Salesforce data. But CRM data isn't agent-ready. It requires a curated semantic layer to define what the data means, assemble it live from your records, who can see what, and deliver it the same way to every tool and agent that asks.

Where people and agents work

Agentforce Claude ChatGPT Slack Teams Any AI agent

Surfaces

ContextWorks

EntitiesBriefsSkills

Business domains

A specific set per team or agent, bundled together

Salesforce records

queried live with enforcement of permissions, field-level security, and sharing rules

Your choice of surfaces

The same full context, every time, to everywhere your users and agents work.

Your choice of AI

It delivers to your tools today, and your agents of tomorrow.

What ContextWorks Provides

Full context, built by the people who know the data.

Entities

The records, curated

Briefs

The knowledge that isn't in any field

Skills

How the work gets done

Ownership

Maintained by the business

One definition, every surface

Built once, read everywhere

Assembly

How ContextWorks responds.

When an agent or AI tool requests Salesforce data, the request goes through ContextWorks. It resolves what is being asked for, queries the records, efficiently computes the metrics and enrichments, and returns a properly formatted response with the instructions attached. Because the assembly and computation happen inside Salesforce, the agent receives complete information rather than raw data to work through, which saves time and tokens for every user.

  1. 01

    An MCP tool request is made

  2. 02

    Salesforce MCP Server routes it to ContextWorks

  3. 03

    ContextWorks resolves the domain and the requested item

  4. 04

    It queries Salesforce records

  5. 05

    It computes metrics and elements

  6. 06

    It renders the output, instructions included

Example MCP Request

MCP client as the calling user 01 Salesforce MCP server platform OAuth and registry 02 ContextWorks resolve the domain and item 03 Salesforce records queried in user mode · FLS + sharing 04 compute metrics and elements 05 no model in this box Output values + instructions 06 returned to the client

No copy

Nothing is duplicated into a second store.

No sync

No job to schedule and monitor.

No index

No vector store, no embeddings to generate.

Always real-time

Every query runs against the actual CRM records.

The ContextWorks difference

Operational context of the CRM data.

A semantic layer normally sits over modelled data in a lake or warehouse and defines metrics: what revenue means, what churn means, consistently, for analytics and for agents. That is useful and powerful, but just part of what ContextWorks provides.

ContextWorks sits directly over the CRM object model and defines what an agent receives when it opens an Account or an Opportunity: which fields, what each one means, which related records to include, which metrics and enrichments to calculate, and the instructions that go with all of it.

Record-level

ContextWorks over the CRM

  • Defines which fields, and what each one means
  • Runs over the operational records themselves
  • Answers what should an agent know about this deal
  • Realtime data
Data lake and metric-level

A semantic layer over a warehouse

  • Defines measures and dimensions
  • Runs over data that was modelled and loaded
  • Answers what does revenue mean
  • Loaded and synced, not realtime

The two are additive, not alternatives. A metric layer makes the numbers in a dashboard agree. ContextWorks makes the record an agent is looking at mean something. An org running both enjoys the benefits of an analytics vocabulary and an operational context, working side by side for different use cases.

What Salesforce gives you, and what we add
Delivery

How ContextWorks is delivered.

Define the context once, and deliver it through multiple mechanisms — the same catalog, the same fields, the same instructions, the same permissions, whichever tool is asking.

ContextWorks Your definitions Entities Briefs Skills The catalog one index, searchable by people and readable by agents MCP Agentforce Prompt Builder Flow Apex

One configuration. Five surfaces, each generated from it.

MCP

MCP tools to view, update and create CRM records.

Agentforce

Actions and ready-made AgentScript.

Prompt Builder

Grounding for a prompt template.

Flow

Invocable actions for automation.

Apex

A public API for your own code.

What connecting each one looks like, step by step.

Deploy
Enrichments

Extend the context with deeper aggregation and computation.

An enrichment brings your own analysis onto a record — a scoring model, an external risk signal, an aggregate the object does not contain. It's included in the payload with instructions attached, so an agent knows what the number is and what it means.

What an enrichment can add

Records, a computed scalar, or content — with instructions.

Enrichment sources

Apex, Flow, invocable actions, Data 360 elements, and external data.

Added security

Records an enrichment returns are re-queried as the calling user before rendering.

ContextWorks API

Build on this, not instead of it.

If your team is already building agents, this is not a competing project. A public Apex API and invocable actions mean an effort already in flight consumes the context layer rather than rebuilding it.

Apex
// Assemble the same payload an agent would receive,
// as the running user, from your own code.
String payload = ctxl.ContextAPI.render(
    new ctxl.ContextRequest()
        .domain('Customer Success')
        .entity('Account 360')
        .recordId(acct.Id)
        .format('markdown')
);

The same assembly, not a second one

Code that calls the API receives the same payload the MCP server and the Agentforce action receive, under the same permissions. There is no separate path to keep in step.

Invocable actions for the no-code path

Flow gets the same capability through invocable actions, so an automated step and a hand-written class read the same definitions.

Portability

Semantic schema, available for integration and portability.

Your definitions export. They come out as a portable bundle you can move between orgs or keep outside the platform, and as an Apache Ossie semantic model for tools that read the standard — the vendor-neutral interchange format Salesforce itself contributes to.

ContextWorks JSON

A portable bundle of your configuration. Move it between sandbox and production, or keep a copy outside the platform.

Apache Ossie YAML

A semantic model in the vendor-neutral interchange format, for any tool that reads the standard.

See ContextWorks in action.

A short walkthrough of how context gets built, what an agent receives, and how it reaches the tools your team already uses.

Schedule a demo

Akoonu is trusted by

HoneywellThalesAvery DennisonTeamworksKOREStreetLight Data

We use cookies to understand how you use our site and improve your experience.