# salesforce_query

Execute a SOQL query against Salesforce.

Agent View of the PolicyLayer registry record for `salesforce_query`. HTML page: https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/salesforce-query

## Facts

- Tool: `salesforce_query`
- Server: Integrations MCP (`shriram-vasudevan/integrations-mcp`) — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp.md
- Homepage: https://github.com/Shriram-Vasudevan/integrations-mcp
- Risk category: Execute (High risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Rate-limited

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "salesforce_query",
    "arguments": {}
  }
}
```

## Why salesforce_query is rated High

This tool executes arbitrary SOQL queries against Salesforce. While SOQL is primarily a read/query language, the ability to execute arbitrary queries against a production CRM system containing sensitive business, customer, and financial data represents significant risk. The word 'Execute' combined with 'query' indicates active operation rather than passive retrieval.

From the tool's own definition: "'Execute a SOQL query against Salesforce'"

## Use case

AI agents invoke salesforce_query to trigger actions in Integrations MCP. What it does depends on the arguments the agent supplies, and its effects often reach beyond the immediate call: builds kicked off, notifications sent, workflows started.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Integrations MCP:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "salesforce_query": {
      "limits": [
        {
          "counter": "salesforce_query_rate",
          "window": "minute",
          "max": 10,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Integrations MCP (419)

- `airtable_delete_record` — Destructive — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/airtable-delete-record.md
- `calendly_cancel_event` — Destructive — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/calendly-cancel-event.md
- `calendly_remove_invitee` — Destructive — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/calendly-remove-invitee.md
- `cloudflare_delete_dns_record` — Destructive — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/cloudflare-delete-dns-record.md
- `cloudflare_purge_cache` — Destructive — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/cloudflare-purge-cache.md
- `gcal_delete_event` — Destructive — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/gcal-delete-event.md
- `okta_deactivate_user` — Destructive — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/okta-deactivate-user.md
- `s3_delete_object` — Destructive — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/s3-delete-object.md
- `salesforce_delete_record` — Destructive — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/salesforce-delete-record.md
- `supabase_delete_user` — Destructive — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/supabase-delete-user.md
- `amplitude_run_segmentation` — Execute — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/amplitude-run-segmentation.md
- `parse_natural_timezone` — Execute — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/parse-natural-timezone.md
- `postmark_send_batch` — Execute — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/postmark-send-batch.md
- `query_database` — Execute — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/query-database.md
- `resend_verify_domain` — Execute — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/resend-verify-domain.md
- `sendgrid_send_email` — Execute — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/sendgrid-send-email.md
- `snowflake_execute_query` — Execute — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/snowflake-execute-query.md
- `supabase_execute_sql` — Execute — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/supabase-execute-sql.md
- `twilio_make_call` — Execute — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/twilio-make-call.md
- `twilio_send_sms` — Execute — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/twilio-send-sms.md
- `vercel_create_deployment` — Execute — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/vercel-create-deployment.md
- `stripe_create_payment_intent` — Financial — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/stripe-create-payment-intent.md
- `author` — Other — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/author.md
- `generate_password` — Other — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/generate-password.md
- `generate_users` — Other — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/generate-users.md
- `airtable_get_record` — Read — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/airtable-get-record.md
- `airtable_list_bases` — Read — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/airtable-list-bases.md
- `airtable_list_records` — Read — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/airtable-list-records.md
- `airtable_list_tables` — Read — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/airtable-list-tables.md
- `amplitude_get_active_users` — Read — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/amplitude-get-active-users.md
- …and 389 more: https://policylayer.com/tools/shriram-vasudevan-integrations-mcp.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=shriram-vasudevan-integrations-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/shriram-vasudevan-integrations-mcp
