Communication and meetings

The Salesforce connector.

Query records with SOQL and SOSL. Connect once with your own key. Every agent your team runs reads the same 5 tools under one permission model.

How access is governed

5

Read tools

Open by default. They run when called, and every call is logged with the endpoint, tool and capability.

0

Write tools

Salesforce exposes no write tools. Nothing it does mutates external state.

0

Destructive tools

Salesforce defines no destructive tools. Nothing here deletes data.

Defaults come from the capability on each tool definition, and an admin can tighten or open any tool individually. The endpoint's capability ceiling can only tighten that policy. An endpoint scoped to read never surfaces a write tool.

Every Salesforce tool

5 tools, named as the agent sees them.

  • soql_queryread

    Run a SOQL query — the primary way to read Salesforce data. Always name the fields explicitly (SOQL has no SELECT *) and add a LIMIT. Use describe_object first if you are unsure which fields exist, since custom fields end in __c and vary per org. Example: SELECT Id, Name, StageName, Amount, CloseDate FROM Opportunity WHERE IsClosed = false ORDER BY CloseDate LIMIT 20

  • search_recordsread

    Run a SOSL search across many objects at once when you have a name or phrase but do not know which object holds it — SOQL cannot do that. Example: FIND {Acme} IN ALL FIELDS RETURNING Account(Id, Name), Contact(Id, Name, Email), Opportunity(Id, Name, StageName). Returns record Ids for get_record.

  • get_recordread

    Get one record by its 15- or 18-character Salesforce Id. Pass `fields` to limit the payload — without it Salesforce returns every field on the object, which on a customised Account or Opportunity is hundreds of columns. Ids come from soql_query, search_records or list_recent.

  • describe_objectread

    Describe an object's schema: every field with its API name, label, type, and the allowed picklist values. Call this BEFORE writing a SOQL query against an unfamiliar object — org-specific custom fields (suffix __c) and custom picklist values such as stage names cannot be guessed. Returns field metadata only, trimmed of layout and permission detail.

  • list_recentread

    List the run-as user's recently viewed records across all objects. Use as a cheap starting point for "what has the team been working on lately" before committing to a specific SOQL query. Returns Ids and object types for get_record.

Use it from any agent

The same Salesforce tools reach Claude Code, Cursor, Claude Desktop or your own agent through one MCP endpoint. The endpoint is scoped to a group, the token is issued per group and revocable from the dashboard, and an allowed-tool list and capability ceiling limit what it exposes. Reads run. Gated writes refuse unless an admin opens them. Destructive tools remain unavailable over MCP.

.mcp.json · works for Cursor and Claude Desktop too
{
  "mcpServers": {
    "growth": {
      "type": "http",
      "url": "https://app.notara.ai/mcp/g/acme/growth",
      "headers": {
        "Authorization": "Bearer ntr_mcp_xxxxxxxxxxxxxxxxxxxx"
      }
    }
  }
}

The URL and token are placeholders. Real endpoints are issued per group from the dashboard.

Setup

  1. 01

    Create a Salesforce Consumer Secret in your Salesforce account (where to find it). The key is yours: Notara stores it encrypted and never sees a bill.

  2. 02

    Paste it into the Notara dashboard. Credentials can be scoped to the workspace or to one person.

  3. 03

    The tools appear with their capability defaults already set. Tighten or open any of them per tool, then invite the agent to a channel or issue an MCP token.

More in communication and meetings

Connect Salesforce once. Use it everywhere.

Use Notara directly, or bring us the workflow that needs to be redesigned and built.