Salesforce · Capability

Salesforce — Records

Salesforce — Records. 7 operations. Lead operation: Salesforce Search for Records Suggested by Autocomplete and Instant Results. Self-contained Naftiko capability covering one Salesforce business surface.

Run with Naftiko SalesforceRecords

What You Can Do

GET
Searchforrecordssuggestedbyautocompleteandinstantresults — Salesforce Search for Records Suggested by Autocomplete and Instant Results
/v1/data/v64-0/search/suggestions
GET
Accessrecords — Salesforce Access Records
/v1/data/v64-0/tooling/sobjects/{sobject-api-name}/{record-id}
GET
Getlistviewrecordsbyid — Salesforce Get List View Records by Id
/v1/data/v64-0/ui-api/list-records/{list-view-id}
GET
Getlistviewrecordsbyapiname — Salesforce Get List View Records by Api Name
/v1/data/v64-0/ui-api/list-records/{sobject-api-name}/{list-view-api-name}
POST
Getlistviewrecords — Salesforce Get List View Records
/v1/data/v64-0/ui-api/list-records/{sobject-api-name}/{list-view-api-name}
GET
Getabatchofrecords — Salesforce Get a Batch of Records
/v1/data/v64-0/ui-api/records/batch/{record-ids}
GET
Getchildrecords — Salesforce Get Child Records
/v1/data/v64-0/ui-api/records/{record-id}/child-relationships/{relationship-name}

MCP Tools

salesforce-search-records-suggested-autocomplete

Salesforce Search for Records Suggested by Autocomplete and Instant Results

read-only idempotent
salesforce-access-records

Salesforce Access Records

read-only idempotent
salesforce-get-list-view-records

Salesforce Get List View Records by Id

read-only idempotent
salesforce-get-list-view-records-2

Salesforce Get List View Records by Api Name

read-only idempotent
salesforce-get-list-view-records-3

Salesforce Get List View Records

read-only
salesforce-get-batch-records

Salesforce Get a Batch of Records

read-only idempotent
salesforce-get-child-records

Salesforce Get Child Records

read-only idempotent

Capability Spec

salesforce-records.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Salesforce — Records
  description: 'Salesforce — Records. 7 operations. Lead operation: Salesforce Search for Records Suggested by Autocomplete
    and Instant Results. Self-contained Naftiko capability covering one Salesforce business surface.'
  tags:
  - Salesforce
  - Records
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    SALESFORCE_API_KEY: SALESFORCE_API_KEY
capability:
  consumes:
  - type: http
    namespace: salesforce-records
    baseUri: https://login.salesforce.com
    description: Salesforce — Records business capability. Self-contained, no shared references.
    resources:
    - name: data-v64.0-search-suggestions
      path: /data/v64.0/search/suggestions
      operations:
      - name: searchforrecordssuggestedbyautocompleteandinstantresults
        method: GET
        description: Salesforce Search for Records Suggested by Autocomplete and Instant Results
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: q
          in: query
          type: string
          required: true
        - name: sobject
          in: query
          type: string
          required: true
        - name: Content-Type
          in: header
          type: string
          required: true
    - name: data-v64.0-tooling-sobjects-SOBJECT_API_NAME-RECORD_ID
      path: /data/v64.0/tooling/sobjects/{SOBJECT_API_NAME}/{RECORD_ID}
      operations:
      - name: accessrecords
        method: GET
        description: Salesforce Access Records
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: SOBJECT_API_NAME
          in: path
          type: string
          required: true
        - name: RECORD_ID
          in: path
          type: string
          required: true
    - name: data-v64.0-ui-api-list-records-LIST_VIEW_ID
      path: /data/v64.0/ui-api/list-records/{LIST_VIEW_ID}
      operations:
      - name: getlistviewrecordsbyid
        method: GET
        description: Salesforce Get List View Records by Id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: LIST_VIEW_ID
          in: path
          type: string
          description: The ID of a list view.
          required: true
    - name: data-v64.0-ui-api-list-records-SOBJECT_API_NAME-LIST_VIEW_API_NAME
      path: /data/v64.0/ui-api/list-records/{SOBJECT_API_NAME}/{LIST_VIEW_API_NAME}
      operations:
      - name: getlistviewrecordsbyapiname
        method: GET
        description: Salesforce Get List View Records by Api Name
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: SOBJECT_API_NAME
          in: path
          type: string
          description: API name of a UI API supported object.
          required: true
        - name: LIST_VIEW_API_NAME
          in: path
          type: string
          description: API name of a list view, such as AllAccounts, __Recent, or __SearchResult.
          required: true
      - name: getlistviewrecords
        method: POST
        description: Salesforce Get List View Records
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: SOBJECT_API_NAME
          in: path
          type: string
          description: API name of the UI API supported object.
          required: true
        - name: LIST_VIEW_API_NAME
          in: path
          type: string
          description: API name of a list view.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: data-v64.0-ui-api-records-batch-RECORD_IDS
      path: /data/v64.0/ui-api/records/batch/{RECORD_IDS}
      operations:
      - name: getabatchofrecords
        method: GET
        description: Salesforce Get a Batch of Records
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: RECORD_IDS
          in: path
          type: string
          description: Comma-separated list of record IDs
          required: true
    - name: data-v64.0-ui-api-records-RECORD_ID-child-relationships-RELATIONSHIP_NAME
      path: /data/v64.0/ui-api/records/{RECORD_ID}/child-relationships/{RELATIONSHIP_NAME}
      operations:
      - name: getchildrecords
        method: GET
        description: Salesforce Get Child Records
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: RECORD_ID
          in: path
          type: string
          description: Record ID
          required: true
        - name: RELATIONSHIP_NAME
          in: path
          type: string
          description: API name of the relationship
          required: true
    authentication:
      type: bearer
      token: '{{env.SALESFORCE_API_KEY}}'
  exposes:
  - type: rest
    namespace: salesforce-records-rest
    port: 8080
    description: REST adapter for Salesforce — Records. One Spectral-compliant resource per consumed operation, prefixed with
      /v1.
    resources:
    - path: /v1/data/v64-0/search/suggestions
      name: data-v64-0-search-suggestions
      description: REST surface for data-v64.0-search-suggestions.
      operations:
      - method: GET
        name: searchforrecordssuggestedbyautocompleteandinstantresults
        description: Salesforce Search for Records Suggested by Autocomplete and Instant Results
        call: salesforce-records.searchforrecordssuggestedbyautocompleteandinstantresults
        with:
          q: rest.q
          sobject: rest.sobject
          Content-Type: rest.Content-Type
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/data/v64-0/tooling/sobjects/{sobject-api-name}/{record-id}
      name: data-v64-0-tooling-sobjects-sobject-api-name-record-id
      description: REST surface for data-v64.0-tooling-sobjects-SOBJECT_API_NAME-RECORD_ID.
      operations:
      - method: GET
        name: accessrecords
        description: Salesforce Access Records
        call: salesforce-records.accessrecords
        with:
          SOBJECT_API_NAME: rest.SOBJECT_API_NAME
          RECORD_ID: rest.RECORD_ID
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/data/v64-0/ui-api/list-records/{list-view-id}
      name: data-v64-0-ui-api-list-records-list-view-id
      description: REST surface for data-v64.0-ui-api-list-records-LIST_VIEW_ID.
      operations:
      - method: GET
        name: getlistviewrecordsbyid
        description: Salesforce Get List View Records by Id
        call: salesforce-records.getlistviewrecordsbyid
        with:
          LIST_VIEW_ID: rest.LIST_VIEW_ID
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/data/v64-0/ui-api/list-records/{sobject-api-name}/{list-view-api-name}
      name: data-v64-0-ui-api-list-records-sobject-api-name-list-view-api-name
      description: REST surface for data-v64.0-ui-api-list-records-SOBJECT_API_NAME-LIST_VIEW_API_NAME.
      operations:
      - method: GET
        name: getlistviewrecordsbyapiname
        description: Salesforce Get List View Records by Api Name
        call: salesforce-records.getlistviewrecordsbyapiname
        with:
          SOBJECT_API_NAME: rest.SOBJECT_API_NAME
          LIST_VIEW_API_NAME: rest.LIST_VIEW_API_NAME
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: getlistviewrecords
        description: Salesforce Get List View Records
        call: salesforce-records.getlistviewrecords
        with:
          SOBJECT_API_NAME: rest.SOBJECT_API_NAME
          LIST_VIEW_API_NAME: rest.LIST_VIEW_API_NAME
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/data/v64-0/ui-api/records/batch/{record-ids}
      name: data-v64-0-ui-api-records-batch-record-ids
      description: REST surface for data-v64.0-ui-api-records-batch-RECORD_IDS.
      operations:
      - method: GET
        name: getabatchofrecords
        description: Salesforce Get a Batch of Records
        call: salesforce-records.getabatchofrecords
        with:
          RECORD_IDS: rest.RECORD_IDS
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/data/v64-0/ui-api/records/{record-id}/child-relationships/{relationship-name}
      name: data-v64-0-ui-api-records-record-id-child-relationships-relationship-name
      description: REST surface for data-v64.0-ui-api-records-RECORD_ID-child-relationships-RELATIONSHIP_NAME.
      operations:
      - method: GET
        name: getchildrecords
        description: Salesforce Get Child Records
        call: salesforce-records.getchildrecords
        with:
          RECORD_ID: rest.RECORD_ID
          RELATIONSHIP_NAME: rest.RELATIONSHIP_NAME
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: salesforce-records-mcp
    port: 9090
    transport: http
    description: MCP adapter for Salesforce — Records. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: salesforce-search-records-suggested-autocomplete
      description: Salesforce Search for Records Suggested by Autocomplete and Instant Results
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: salesforce-records.searchforrecordssuggestedbyautocompleteandinstantresults
      with:
        q: tools.q
        sobject: tools.sobject
        Content-Type: tools.Content-Type
      outputParameters:
      - type: object
        mapping: $.
    - name: salesforce-access-records
      description: Salesforce Access Records
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: salesforce-records.accessrecords
      with:
        SOBJECT_API_NAME: tools.SOBJECT_API_NAME
        RECORD_ID: tools.RECORD_ID
      outputParameters:
      - type: object
        mapping: $.
    - name: salesforce-get-list-view-records
      description: Salesforce Get List View Records by Id
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: salesforce-records.getlistviewrecordsbyid
      with:
        LIST_VIEW_ID: tools.LIST_VIEW_ID
      outputParameters:
      - type: object
        mapping: $.
    - name: salesforce-get-list-view-records-2
      description: Salesforce Get List View Records by Api Name
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: salesforce-records.getlistviewrecordsbyapiname
      with:
        SOBJECT_API_NAME: tools.SOBJECT_API_NAME
        LIST_VIEW_API_NAME: tools.LIST_VIEW_API_NAME
      outputParameters:
      - type: object
        mapping: $.
    - name: salesforce-get-list-view-records-3
      description: Salesforce Get List View Records
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: salesforce-records.getlistviewrecords
      with:
        SOBJECT_API_NAME: tools.SOBJECT_API_NAME
        LIST_VIEW_API_NAME: tools.LIST_VIEW_API_NAME
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: salesforce-get-batch-records
      description: Salesforce Get a Batch of Records
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: salesforce-records.getabatchofrecords
      with:
        RECORD_IDS: tools.RECORD_IDS
      outputParameters:
      - type: object
        mapping: $.
    - name: salesforce-get-child-records
      description: Salesforce Get Child Records
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: salesforce-records.getchildrecords
      with:
        RECORD_ID: tools.RECORD_ID
        RELATIONSHIP_NAME: tools.RELATIONSHIP_NAME
      outputParameters:
      - type: object
        mapping: $.