# Create Route — Samsara

> Generates a new route to an existing address. As a prerequisite, the user must create an address using the 'create-address' action if the location is not already available in the address book. The user must provide the necessary props such…

- Key: `samsara-create-route`
- Type: Action (Write)
- Version: 0.0.3
- App: Samsara (`samsara`) — https://pipedream.com/apps/samsara.md
- This page (HTML): https://pipedream.com/apps/samsara/actions/create-route
- Hints: open-world
- Source: https://github.com/PipedreamHQ/pipedream/blob/master/components/samsara/actions/create-route/create-route.mjs

## Description

Generates a new route to an existing address. As a prerequisite, the user must create an address using the 'create-address' action if the location is not already available in the address book. The user must provide the necessary props such as destination address.

## Props

| Prop | Type | Required | Description |
|---|---|---|---|
| `driverId` | `string` | No | ID of the driver. Options are loaded from the connected account. |
| `externalIds` | `object` | No | The external IDs for the given object. |
| `name` | `string` | Yes | Name for the route |
| `notes` | `string` | No | Notes about the route. |
| `routeCompletionCondition` | `string` | No | Defaults to 'arriveLastStop' which ends the route upon arriving at the final stop. The condition 'departLastStop' ends the route upon departing the last stop. If 'arriveLastStop' is set, then the departure time of the final stop should not be set. |
| `routeStartingCondition` | `string` | No | Defaults to 'departFirstStop' which starts the route upon departing the first stop in the route. The condition 'arriveFirstStop' starts the route upon arriving at the first stop in the route. If 'departFirstStop' is set, the arrival time of the first stop should not be set. |
| `stops` | `object` | Yes | List of objects of stops along the route. For each stop, exactly one of addressId and singleUseLocation are required. Depending on the settings on your route, either a scheduledArrivalTime or scheduledDepartureTime must be specified for the first job. See further information |
| `vehicleId` | `string` | No | ID of the vehicle. Options are loaded from the connected account. |

## 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": "samsara",
      },
    },
  },
)

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: "samsara-create-route",
  arguments: {
    driverId: "Driver Id",
    externalIds: "External Ids",
  },
})
```

**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: "samsara-create-route",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    samsara: { authProvisionId: "apn_xxxxxxx" },
    driverId: "Driver Id",
    externalIds: "External Ids",
  },
})

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": "samsara-create-route",
    "configured_props": {
      "samsara": { "authProvisionId": "apn_xxxxxxx" },
      "driverId": "Driver Id",
      "externalIds": "External Ids"
    }
  }'
```

---

- App: https://pipedream.com/apps/samsara.md · All apps: https://pipedream.com/apps
