Salesforce ACTION
Find Records
Retrieve selected fields for records of any Salesforce object, either specific records by ID or the most recent ones. Use this as the general-purpose record reader when no object-specific action fits - prefer List Cases for cases or Get Record by ID for a single known record. Use List Objects to discover object types and List Object Fields to discover field names. For example,
SObject Type Account with Fields to Obtain Id, Name and Limit 25 returns the 25 most recently created accounts. Leaving Record ID(s) empty returns recent records, not every record - Salesforce sends one batch, so set Limit and use SOQL Query when you need everything. Newest-first ordering needs CreatedDate, so results are unordered on the few object types that lack it. See the documentation- Action
- Read only
- OAuth
- SDK
- MCP
IMPLEMENTATION
Call this tool
Connect a user's Salesforce account once, then configure and run Find Records from your backend or agent.
import { PipedreamClient } from "@pipedream/sdk"
const pd = new PipedreamClient({
projectId: process.env.PIPEDREAM_PROJECT_ID!,
clientId: process.env.PIPEDREAM_CLIENT_ID!,
clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
projectEnvironment: "production",
})
const result = await pd.actions.run({
id: "salesforce_rest_api-find-records",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
salesforce_rest_api: { authProvisionId: "apn_xxxxxxx" },
sobjectType: "SObject Type",
fieldsToObtain: ["Fields to Obtain"],
},
})
console.log(result)curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
-H "Content-Type: application/json" \
-H "X-PD-Environment: production" \
-H "Authorization: Bearer {access_token}" \
-d '{
"external_user_id": "{external_user_id}",
"id": "salesforce_rest_api-find-records",
"configured_props": {
"salesforce_rest_api": { "authProvisionId": "apn_xxxxxxx" },
"sobjectType": "SObject Type",
"fieldsToObtain": ["Fields to Obtain"]
}
}'// accessToken: mint a short-lived token with the Connect SDK — see the MCP guide
const transport = new StreamableHTTPClientTransport(
new URL("https://remote.mcp.pipedream.net/v3"),
{
requestInit: {
headers: {
Authorization: `Bearer ${accessToken}`,
"x-pd-project-id": "{project_id}",
"x-pd-environment": "production",
"x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
"x-pd-app-slug": "salesforce_rest_api",
},
},
},
)
const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)
const { tools } = await mcp.listTools()
// listTools() hands your model this tool's input schema, so it can
// fill the arguments itself:
const result = await mcp.callTool({
name: "salesforce_rest_api-find-records",
arguments: {
sobjectType: "SObject Type",
fieldsToObtain: ["Fields to Obtain"],
},
})SCHEMA
Inputs
Pipedream supplies the connected account. Your application provides the operation-specific values below. Dynamic inputs are resolved against that user's account.
| Property | Type | Description |
|---|---|---|
sobjectType SObject Type | string | The type of object to obtain records of, e.g. Account. Use List Objects to discover the object types in this org. Required Dynamic |
fieldsToObtain Fields to Obtain | string[] | The fields to return, e.g. Id, Name. Use List Object Fields to discover field names for the selected object. Include Id if you plan to act on the records afterwards. Required Dynamic |
recordIds Record ID(s) | string[] | The specific record(s) to retrieve (15- or 18-character Salesforce IDs). Leave empty to retrieve the most recent records of this object type. Optional Dynamic |
limit Limit | integer | The maximum number of records to return. Valid values are integers from 1 through 1000. Omit to return every record Salesforce sends in one batch. Optional |
REFERENCE
Tool details
Behavior hints are published with the component in the Pipedream registry and surface as MCP tool annotations, so an agent can reason about a tool before it calls it.
- Registry key
- salesforce_rest_api-find-records
- Version
- 0.3.3
- App
- Salesforce
- Authentication
- OAuth
- Read-only
- Yes
- Destructive
- No
- Open world
- Yes
- Source
- View on GitHub ↗