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

# Zoho CRM: Portal Users Invite Users

> Invite several Zoho CRM contacts or records to a portal. Includes SDK V2 guidance, input constraints, response fields, and Deepline credit cost.

Invite several Zoho CRM contacts or records to a portal.

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

## 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(
  'zoho_crm_portal_users_invite_users',
  {
    "module": "example",
    "portal_invite": [
      {
        "data": [
          {
            "id": "id_123",
            "user_type_id": "user_type_123",
            "type": "reinvite"
          }
        ]
      }
    ]
  },
);

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

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute zoho_crm_portal_users_invite_users --input '{
  "module": "example",
  "portal_invite": [
    {
      "data": [
        {
          "id": "id_123",
          "user_type_id": "user_type_123",
          "type": "reinvite"
        }
      ]
    }
  ]
}' --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": {
    "portal_invite": [
      {
        "code": "SCHEDULED",
        "details": {
          "job_id": "job_123"
        },
        "message": "Example message",
        "status": "success"
      }
    ]
  }
}
```

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

## Input reference

Request body for inviting portal users

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.module` | `string` | Yes | — | The CRM module name for portal invitation Maximum length: 255. |
| `payload.portal_invite` | `array` | Yes | — | List of portal invitation requests Maximum items: 100. |

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

  ### Input JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Request body for inviting portal users",
    "properties": {
      "module": {
        "type": "string",
        "description": "The CRM module name for portal invitation",
        "maxLength": 255
      },
      "portal_invite": {
        "type": "array",
        "description": "List of portal invitation requests",
        "maxItems": 100,
        "items": {
          "type": "object",
          "description": "Portal invitation request object",
          "properties": {
            "data": {
              "type": "array",
              "description": "Array of user invitation data",
              "maxItems": 100,
              "items": {
                "type": "object",
                "description": "User invitation details",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "User record ID",
                    "maxLength": 255
                  },
                  "user_type_id": {
                    "type": "string",
                    "description": "User type identifier",
                    "maxLength": 255
                  },
                  "type": {
                    "type": "string",
                    "description": "Invitation type",
                    "enum": [
                      "reinvite",
                      "invite"
                    ]
                  },
                  "language": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "description": "Preferred language for the invitation",
                    "enum": [
                      "",
                      "it_IT",
                      "ru_RU",
                      "pl_PL",
                      "tr_TR",
                      "hi_IN",
                      "pt_BR",
                      "th_TH",
                      "fr_FR",
                      "ja_JP",
                      "in_ID",
                      "cs_CZ",
                      "de_DE",
                      "hu_HU",
                      "zh_TW",
                      "es_ES",
                      "nl_NL",
                      "sv_SE",
                      "da_DK",
                      "bg_BG",
                      "vi_VN",
                      "iw_IL",
                      "hr_HR",
                      "en_GB",
                      "ko_KR",
                      "en_US",
                      "zh_CN",
                      "ar_EG",
                      "pt_PT",
                      null
                    ]
                  }
                },
                "required": [
                  "id",
                  "user_type_id",
                  "type"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "data"
          ],
          "additionalProperties": false
        }
      }
    },
    "required": [
      "module",
      "portal_invite"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

Standard tool result payload.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `result.data` | `object` | Yes | — | Response for portal user invitation requests |
| `result.data.portal_invite` | `array` | Yes | — | List of portal invitation responses Maximum items: 100. |
| `result.data.portal_invite[].code` | `"SCHEDULED"` | Yes | — | Status code indicating invitation was scheduled Allowed: `SCHEDULED`. |
| `result.data.portal_invite[].details` | `object` | Yes | — | Additional details about the scheduled invitation |
| `result.data.portal_invite[].details.job_id` | `string` | Yes | — | Unique identifier for the invitation job Maximum length: 255. |
| `result.data.portal_invite[].message` | `string` | Yes | — | Success message Maximum length: 1000. |
| `result.data.portal_invite[].status` | `"success"` | Yes | — | Status of the response Allowed: `success`. |
| `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": "Response for portal user invitation requests",
        "properties": {
          "portal_invite": {
            "type": "array",
            "description": "List of portal invitation responses",
            "maxItems": 100,
            "items": {
              "type": "object",
              "description": "Portal invitation response object",
              "properties": {
                "code": {
                  "type": "string",
                  "description": "Status code indicating invitation was scheduled",
                  "enum": [
                    "SCHEDULED"
                  ]
                },
                "details": {
                  "type": "object",
                  "description": "Additional details about the scheduled invitation",
                  "properties": {
                    "job_id": {
                      "type": "string",
                      "description": "Unique identifier for the invitation job",
                      "maxLength": 255
                    }
                  },
                  "required": [
                    "job_id"
                  ],
                  "additionalProperties": false
                },
                "message": {
                  "type": "string",
                  "description": "Success message",
                  "maxLength": 1000
                },
                "status": {
                  "type": "string",
                  "description": "Status of the response",
                  "enum": [
                    "success"
                  ]
                }
              },
              "required": [
                "code",
                "details",
                "message",
                "status"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "portal_invite"
        ],
        "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

* [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.