> ## 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.

# Gong Assign Prospects: Inputs, Cost & CLI Example

> Assign prospects (contacts or leads) to an Engage flow (/v2/flows/prospects/assign). Includes inputs, outputs, costs, and Deepline CLI examples.

## Run in Enrichment Spreadsheet

<Info>
  Use this function as a column step in `deepline enrich`.
</Info>

```bash theme={null}
deepline enrich --input leads.csv --output leads.enriched.csv --with 'result=gong_assign_prospects:{"crmProspectsIds":"{{crmProspectsIds}}","flowId":"{{flowId}}","flowInstanceOwnerEmail":"{{flowInstanceOwnerEmail}}"}' --json
```

<Tip>
  Map payload values to spreadsheet columns with `{{column_name}}` placeholders.
</Tip>

## Input Schema

| Name                              | Type     | Required | Default | Description                                                                        |
| --------------------------------- | -------- | -------- | ------- | ---------------------------------------------------------------------------------- |
| `payload.crmProspectsIds`         | `array`  | Yes      |         | The CRM IDs of the contact or lead that should be assigned to a flow.              |
| `payload.flowId`                  | `string` | Yes      |         | The Engage Flow ID to assign the contacts to.                                      |
| `payload.flowInstanceOwnerEmail`  | `string` | Yes      |         | The email of the Gong user who owns the flow to-dos.                               |
| `payload.overrides`               | `object` | No       |         | Defines the new data for specific steps and variables in the flow (in Beta Phase). |
| `payload.flowInstanceDescription` | `string` | No       |         | The description for the flow instance (in Beta Phase).                             |

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

  ### Input JSON Schema

  ```json theme={null}
  {
    "type": "object",
    "description": "Flow assignment parameters.",
    "properties": {
      "crmProspectsIds": {
        "type": "array",
        "description": "The CRM IDs of the contact or lead that should be assigned to a flow.",
        "uniqueItems": true,
        "items": {
          "type": "string",
          "description": "The CRM IDs of the contact or lead that should be assigned to a flow."
        }
      },
      "flowId": {
        "type": "string",
        "description": "The Engage Flow ID to assign the contacts to."
      },
      "flowInstanceOwnerEmail": {
        "type": "string",
        "description": "The email of the Gong user who owns the flow to-dos."
      },
      "overrides": {
        "type": "object",
        "description": "Defines the new data for specific steps and variables in the flow (in Beta Phase).",
        "properties": {
          "steps": {
            "type": "array",
            "description": "The steps in the flow to override. The step subject and body can be updated.",
            "items": {
              "type": "object",
              "description": "The steps in the flow to override. The step subject and body can be updated.",
              "properties": {
                "number": {
                  "type": "integer",
                  "description": "The number of the step to update in the flow. The first step in the flow is 1.",
                  "format": "int32"
                },
                "subject": {
                  "type": "string",
                  "description": "The new subject for the step."
                },
                "body": {
                  "type": "string",
                  "description": "The new body for the step."
                }
              },
              "required": [
                "number"
              ],
              "additionalProperties": false
            }
          },
          "flowInstanceVariables": {
            "type": "array",
            "description": "The flow variables to update. Changes to these variables are applied to the entire flow.",
            "items": {
              "type": "object",
              "description": "The flow variables to update. Changes to these variables are applied to the entire flow.",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The name of the variable you want to update."
                },
                "value": {
                  "type": "string",
                  "description": "The new value for the variable."
                }
              },
              "required": [
                "name",
                "value"
              ],
              "additionalProperties": false
            }
          },
          "coolOffOverride": {
            "type": "boolean",
            "description": "To assign prospects to the flow regardless of the cool off status."
          }
        },
        "additionalProperties": false
      },
      "flowInstanceDescription": {
        "type": "string",
        "description": "The description for the flow instance (in Beta Phase)."
      }
    },
    "required": [
      "crmProspectsIds",
      "flowId",
      "flowInstanceOwnerEmail"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Output Schema

| Name          | Type     | Required | Default | Description                                    |
| ------------- | -------- | -------- | ------- | ---------------------------------------------- |
| `result.data` | `object` | Yes      |         | Provider response payload.                     |
| `result.meta` | `object` | No       |         | Additional response metadata (status, paging). |

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

  ### Output JSON Schema

  ```json theme={null}
  {
    "type": "object",
    "description": "Standard tool result payload.",
    "properties": {
      "data": {
        "type": "object",
        "description": "Provider response payload.",
        "properties": {
          "requestId": {
            "type": "string",
            "description": "A Gong request reference Id, generated for this request. Can be used for troubleshooting purposes."
          },
          "prospectsAssigned": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "flowId": {
                  "type": "string",
                  "description": "The Gong Engage Flow ID the prospect was assigned to."
                },
                "flowName": {
                  "type": "string",
                  "description": "The Gong Engage Flow name the prospect was assigned to."
                },
                "crmProspectId": {
                  "type": "string",
                  "description": "The CRM ID of the prospect that was assigned to a Gong Engage flow."
                },
                "flowInstanceId": {
                  "type": "string",
                  "description": "The newly created flow instance id."
                },
                "flowInstanceOwnerEmail": {
                  "type": "string",
                  "description": "The email address of the Gong user who owns the flow instance tasks."
                },
                "flowInstanceOwnerFullName": {
                  "type": "string",
                  "description": "The full name of the Gong user who owns the flow instance tasks."
                },
                "flowInstanceCreateDate": {
                  "type": "string",
                  "description": "The creation date of the flow instance in the ISO-8601 format, for example: '2024-01-17T16:20:05-03:00' or '2016-02-16T03:57:04.834+05:30' or '2020-11-20T21:30:07.233692Z', where Z stands for UTC."
                },
                "flowInstanceStatus": {
                  "type": "string",
                  "description": "The status of the flow instance.",
                  "enum": [
                    "Pending",
                    "Running",
                    "Paused",
                    "FinishedNoReply",
                    "FinishedResponse",
                    "Finished"
                  ]
                },
                "workspaceId": {
                  "type": "string",
                  "description": "The workspace ID this flow belongs to."
                },
                "exclusive": {
                  "type": "boolean",
                  "description": "Indicates whether a prospect in this flow can be added to other flows"
                }
              },
              "additionalProperties": false
            }
          },
          "prospectsNotAssigned": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "flowId": {
                  "type": "string",
                  "description": "The flow ID to which the assignment failed"
                },
                "crmProspectId": {
                  "type": "string",
                  "description": "The CRM ID of the prospect that failed to get assigned to a Gong Engage flow."
                },
                "errorCode": {
                  "type": "string",
                  "description": "The code of the assignment error",
                  "enum": [
                    "InvalidArgument",
                    "InvalidState",
                    "UnexpectedError"
                  ]
                },
                "errorMessage": {
                  "type": "string",
                  "description": "A message describing the assignment error"
                }
              },
              "additionalProperties": false
            }
          }
        },
        "additionalProperties": false
      },
      "meta": {
        "type": "object",
        "description": "Additional response metadata (status, paging).",
        "additionalProperties": true
      }
    },
    "required": [
      "data"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Advanced: Direct CLI

<Info>
  Use direct execution for single payload debugging.
</Info>

```bash theme={null}
deepline tools execute gong_assign_prospects --payload '{
  "crmProspectsIds": "array",
  "flowId": "string",
  "flowInstanceOwnerEmail": "string"
}' --json
```

### CLI flags

| Flag                        | Description                                         |
| --------------------------- | --------------------------------------------------- |
| `--json`                    | Print machine-readable output.                      |
| `--wait`                    | Wait for terminal provider status when supported.   |
| `--debug`                   | Enable wait mode with additional status/log output. |
| `--wait-timeout SECONDS`    | Max seconds to wait in wait mode.                   |
| `--poll-interval SECONDS`   | Polling interval in seconds during wait mode.       |
| `--timeout SECONDS`         | Request timeout in seconds.                         |
| `--connect-timeout SECONDS` | Connection timeout in seconds.                      |

## Cost

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