> ## Documentation Index
> Fetch the complete documentation index at: https://deepline.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Salesloft: Call Data Records Create

> Record an inbound or outbound call in Salesloft with its numbers, duration, direction, status and recording. Includes SDK V2 examples, schemas, and cost.

Record an inbound or outbound call in Salesloft with its numbers, duration, direction, status and recording.

> [!NOTE]
>
> Tool ID: `salesloft_call_data_records_create`

## Run this action

Use the TypeScript SDK for one call. Use `ctx.tools.execute(...)` inside a Play for durable calls, scheduled calls, or CSV processing.

```ts theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
import { Deepline } from 'deepline';

const deepline = await Deepline.connect();
const result = await deepline.tools.execute(
  'salesloft_call_data_records_create',
  {
    "to": "example",
    "from": "example",
    "external_call_id": "external_call_123"
  },
);

console.log(result.toolResponse.raw);
```

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute salesloft_call_data_records_create --input '{
  "to": "example",
  "from": "example",
  "external_call_id": "external_call_123"
}' --json
```

## Example response

The SDK returns this shape at `result.toolResponse.raw`. The example values illustrate the response.

```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
{
  "data": {
    "user": {},
    "updated_at": "2026-01-15T12:00:00Z",
    "to": "example"
  }
}
```

Use `deepline describe salesloft_call_data_records_create --json` for the latest machine-readable contract.

## Input reference

Create a call data record

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.to` | `string` | Yes | — | Phone number that received the call |
| `payload.status` | `string` | No | — | The status of the call. Can be one of: queued, initiated, ringing, in-progress, completed, busy, no-answer, canceled, failed |
| `payload.recording` | `object` | No | — | Object with a "url" property containing the URL of the recording file. This will be processed asynchronously. Example: `&#123;"url": "https://example.com/recording.mp3"&#125;)` |
| `payload.provider` | `string` | No | — | Provider of the call |
| `payload.person_id` | `integer` | No | — | Person ID |
| `payload.melody_call_id` | `integer` | No | — | Call Log ID |
| `payload.from` | `string` | Yes | — | Phone number that placed the call |
| `payload.external_call_id` | `string` | Yes | — | External call ID. Must be unique, or the request will be treated as an update to the existing record |
| `payload.duration` | `integer` | No | — | Length of the call in seconds |
| `payload.direction` | `string` | No | — | Direction of the call. Can be one of: inbound, outbound |
| `payload.call_type` | `string` | No | — | Type of the call. Can be one of: call, bridge, collaboration. Though exact values may change over time |
| `payload.call_started_at` | `integer` | No | — | Timestamp when the call started |
| `payload.call_ended_at` | `integer` | No | — | Timestamp when the call ended |
| `payload.account_id` | `integer` | No | — | Account ID |

<details>
  <summary>Show raw input schema</summary>

  ### Input JSON Schema

  ````json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Create a call data record",
    "properties": {
      "to": {
        "type": "string",
        "description": "Phone number that received the call"
      },
      "status": {
        "type": "string",
        "description": "The status of the call. Can be one of: queued, initiated, ringing, in-progress, completed, busy, no-answer, canceled, failed"
      },
      "recording": {
        "type": "object",
        "description": "Object with a \"url\" property containing the URL of the recording file. This will be processed asynchronously. Example: ``` {\"url\": \"https://example.com/recording.mp3\"}) ```"
      },
      "provider": {
        "type": "string",
        "description": "Provider of the call"
      },
      "person_id": {
        "type": "integer",
        "description": "Person ID"
      },
      "melody_call_id": {
        "type": "integer",
        "description": "Call Log ID"
      },
      "from": {
        "type": "string",
        "description": "Phone number that placed the call"
      },
      "external_call_id": {
        "type": "string",
        "description": "External call ID. Must be unique, or the request will be treated as an update to the existing record"
      },
      "duration": {
        "type": "integer",
        "description": "Length of the call in seconds"
      },
      "direction": {
        "type": "string",
        "description": "Direction of the call. Can be one of: inbound, outbound"
      },
      "call_type": {
        "type": "string",
        "description": "Type of the call. Can be one of: call, bridge, collaboration. Though exact values may change over time"
      },
      "call_started_at": {
        "type": "integer",
        "description": "Timestamp when the call started"
      },
      "call_ended_at": {
        "type": "integer",
        "description": "Timestamp when the call ended"
      },
      "account_id": {
        "type": "integer",
        "description": "Account ID"
      }
    },
    "required": [
      "to",
      "from",
      "external_call_id"
    ],
    "additionalProperties": false
  }
  ````
</details>

## Output reference

Standard tool result payload.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `result.data` | `object` | Yes | — | Provider response payload. |
| `result.data.user` | `record` | No | — | User that made or received the call, if the call was to a user |
| `result.data.updated_at` | `string` | No | — | Datetime of when the call was last updated Format: `date-time`. |
| `result.data.to` | `string` | No | — | Phone number that received the call |
| `result.data.status` | `string` | No | — | The outcome of the call. Can be one of: queued, initiated, ringing, in-progress, completed, busy, no-answer, canceled, failed |
| `result.data.started_at` | `string` | No | — | Datetime of when the call started Format: `date-time`. |
| `result.data.recording` | `record` | No | — | The recording for this this call data record, with a status |
| `result.data.id` | `integer` | No | — | ID of CallDataRecord |
| `result.data.from` | `string` | No | — | Phone number that placed the call |
| `result.data.ended_at` | `string` | No | — | Datetime of when the call ended Format: `date-time`. |
| `result.data.duration` | `integer` | No | — | Length of the call in seconds |
| `result.data.direction` | `string` | No | — | Direction of the call. Can be one of: inbound, outbound |
| `result.data.dialer_recording` | `record` | No | — | The dialer recording resource for the call recording |
| `result.data.created_at` | `string` | No | — | Datetime of when the call was created Format: `date-time`. |
| `result.data.called_person` | `record` | No | — | The person called |
| `result.data.call_uuid` | `string` | No | — | UUID of the call. Legs of the same call will have the same call\_uuid. |
| `result.data.call_type` | `string` | No | — | Type of the call. Can be one of: call, bridge, collaboration. Though exact values may change over time |
| `result.data.call` | `record` | No | — | Call that this record was logged to, if logged to a call |
| `result.meta` | `object` | No | — | Additional response metadata (status, paging). |

<details>
  <summary>Show raw output schema</summary>

  ### Output JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Standard tool result payload.",
    "properties": {
      "data": {
        "type": "object",
        "description": "Provider response payload.",
        "properties": {
          "user": {
            "type": "object",
            "description": "User that made or received the call, if the call was to a user"
          },
          "updated_at": {
            "type": "string",
            "description": "Datetime of when the call was last updated",
            "format": "date-time"
          },
          "to": {
            "type": "string",
            "description": "Phone number that received the call"
          },
          "status": {
            "type": "string",
            "description": "The outcome of the call. Can be one of: queued, initiated, ringing, in-progress, completed, busy, no-answer, canceled, failed"
          },
          "started_at": {
            "type": "string",
            "description": "Datetime of when the call started",
            "format": "date-time"
          },
          "recording": {
            "type": "object",
            "description": "The recording for this this call data record, with a status"
          },
          "id": {
            "type": "integer",
            "description": "ID of CallDataRecord"
          },
          "from": {
            "type": "string",
            "description": "Phone number that placed the call"
          },
          "ended_at": {
            "type": "string",
            "description": "Datetime of when the call ended",
            "format": "date-time"
          },
          "duration": {
            "type": "integer",
            "description": "Length of the call in seconds"
          },
          "direction": {
            "type": "string",
            "description": "Direction of the call. Can be one of: inbound, outbound"
          },
          "dialer_recording": {
            "type": "object",
            "description": "The dialer recording resource for the call recording"
          },
          "created_at": {
            "type": "string",
            "description": "Datetime of when the call was created",
            "format": "date-time"
          },
          "called_person": {
            "type": "object",
            "description": "The person called"
          },
          "call_uuid": {
            "type": "string",
            "description": "UUID of the call. Legs of the same call will have the same call_uuid."
          },
          "call_type": {
            "type": "string",
            "description": "Type of the call. Can be one of: call, bridge, collaboration. Though exact values may change over time"
          },
          "call": {
            "type": "object",
            "description": "Call that this record was logged to, if logged to a call"
          }
        },
        "additionalProperties": false
      },
      "meta": {
        "type": "object",
        "description": "Additional response metadata (status, paging).",
        "additionalProperties": true
      }
    },
    "required": [
      "data"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Deepline cost

* Pricing model: `fixed` (per call).
* Estimated Deepline credits: `0` per pricing unit.
* Provider-native pricing may still exist outside Deepline credit billing.

## Related documentation

* [Salesloft provider guide](https://deepline.com/docs/providers/salesloft/guide.md)
* [SDK V2 quickstart](https://deepline.com/docs/sdk-v2/quickstart.md)
* [SDK reference](https://deepline.com/docs/sdk-v2/sdk-reference.md)
* [Run tools across a CSV](https://deepline.com/docs/sdk-v2/batch-csv.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.