# Get Related Records — Salesforce

> Get child records related to a parent Salesforce record via a relationship. Use to traverse relationships without writing SOQL joins. Common relationships: Account → Contacts, Opportunities, Cases, Tasks; Contact → Cases, Opportunities…

- Key: `salesforce_rest_api-get-related-records`
- Type: Action (Read-only)
- Version: 0.0.4
- App: Salesforce (`salesforce_rest_api`) — https://pipedream.com/apps/salesforce-rest-api.md
- This page (HTML): https://pipedream.com/apps/salesforce-rest-api/actions/get-related-records
- Hints: read-only · open-world
- Source: https://github.com/PipedreamHQ/pipedream/blob/master/components/salesforce_rest_api/actions/get-related-records/get-related-records.mjs

## Description

Get child records related to a parent Salesforce record via a relationship. Use to traverse relationships without writing SOQL joins. Common relationships: Account → Contacts, Opportunities, Cases, Tasks; Contact → Cases, Opportunities, Tasks; Opportunity → OpportunityLineItems, Tasks. Use **Describe Object** to discover available relationship names if unsure (look for `relationshipName` on reference fields). [See the documentation](https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/resources_sobject_relationships.htm)

## Props

| Prop | Type | Required | Description |
|---|---|---|---|
| `objectType` | `string` | Yes | The SObject API name of the parent record (e.g. Account, Contact, Opportunity). |
| `recordId` | `string` | Yes | The ID of the parent record. |
| `relationshipName` | `string` | Yes | The API name of the relationship to traverse (e.g. Contacts, Opportunities, Cases, Tasks). This is the plural relationship name, not the field name. Use Describe Object on the parent type to discover available relationships. |
| `fields` | `string[]` | No | Fields to return on the related records (e.g. ["Id", "Name", "Email"]). If omitted, returns default fields. |

## Run it

**MCP**

```ts
import { Client } from "@modelcontextprotocol/sdk/client/index.js"
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"
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 accessToken = await pd.rawAccessToken

const transport = new StreamableHTTPClientTransport(
  new URL("https://remote.mcp.pipedream.net/v3"),
  {
    requestInit: {
      headers: {
        Authorization: `Bearer ${accessToken}`,
        "x-pd-project-id": process.env.PIPEDREAM_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-get-related-records",
  arguments: {
    objectType: "Parent Object Type",
    recordId: "Record ID",
  },
})
```

**TypeScript**

```ts
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-get-related-records",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    salesforce_rest_api: { authProvisionId: "apn_xxxxxxx" },
    objectType: "Parent Object Type",
    recordId: "Record ID",
  },
})

console.log(result)
```

**cURL**

```bash
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-get-related-records",
    "configured_props": {
      "salesforce_rest_api": { "authProvisionId": "apn_xxxxxxx" },
      "objectType": "Parent Object Type",
      "recordId": "Record ID"
    }
  }'
```

---

- App: https://pipedream.com/apps/salesforce-rest-api.md · All apps: https://pipedream.com/apps
