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

# Unipile: Linkedin Perform Member Action

> Changes data in the customer’s LinkedIn account by acting on a member profile, such as adding a candidate to a Recruiter pipeline or saving a Sales Navigator.

Changes data in the customer’s LinkedIn account by acting on a member profile, such as adding a candidate to a Recruiter pipeline or saving a Sales Navigator.

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

## 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(
  'unipile_linkedin_perform_member_action',
  {
    "user_id": "user_123",
    "account_id": "123456789",
    "api": "recruiter",
    "action": "addCandidateToPipeline",
    "hiring_project_id": "hiring_project_123"
  },
);

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

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute unipile_linkedin_perform_member_action --input '{
  "user_id": "user_123",
  "account_id": "123456789",
  "api": "recruiter",
  "action": "addCandidateToPipeline",
  "hiring_project_id": "hiring_project_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": {
    "object": "LinkedinPerformActionOnUser",
    "success": true
  }
}
```

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

## Input reference

Add a candidate to a Recruiter pipeline, save a Sales Navigator lead, etc.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.user_id` | `string` | Yes | — | The ID of the user. |
| `payload.account_id` | `string` | Yes | — | A unique identifier. Minimum length: 1. |
| `payload.api` | `"recruiter" \| "sales_navigator"` | Yes | — | Allowed: `recruiter`, `sales_navigator`. |
| `payload.action` | `"addCandidateToPipeline" \| "addApplicantToPipeline" \| "changeCandidatePipeline" \| "rejectApplicant" \| "saveLead"` | Yes | — | Allowed: `addCandidateToPipeline`, `addApplicantToPipeline`, `changeCandidatePipeline`, `rejectApplicant`, `saveLead`. |
| `payload.hiring_project_id` | `string` | No | — | — |
| `payload.stage` | `"UNCONTACTED" \| "CONTACTED" \| "REPLIED"` | No | — | The default value for the stage will be uncontacted. Allowed: `UNCONTACTED`, `CONTACTED`, `REPLIED`. |
| `payload.reason` | `"NOT_MEET_BASIC_QUALIFICATIONS" \| "NOT_IN_DESIRED_LOCATION" \| "MORE_QUALIFIED_CANDIDATES" \| "WITHDREW_APPLICATION" \| "NOT_CONSIDERED_OR_REASON_NOT_SPECIFIED"` | No | — | Allowed: `NOT_MEET_BASIC_QUALIFICATIONS`, `NOT_IN_DESIRED_LOCATION`, `MORE_QUALIFIED_CANDIDATES`, `WITHDREW_APPLICATION`, `NOT_CONSIDERED_OR_REASON_NOT_SPECIFIED`. |
| `payload.rejection_notification` | `object` | No | — | If the notification config is not provided, the applicant will simply not be notified that he has been rejected. |
| `payload.list_id` | `string` | No | — | — |

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

  ### Input JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Add a candidate to a Recruiter pipeline, save a Sales Navigator lead, etc.",
    "properties": {
      "user_id": {
        "type": "string",
        "description": "The ID of the user."
      },
      "account_id": {
        "type": "string",
        "description": "A unique identifier.",
        "minLength": 1
      },
      "api": {
        "type": "string",
        "enum": [
          "recruiter",
          "sales_navigator"
        ]
      },
      "action": {
        "type": "string",
        "enum": [
          "addCandidateToPipeline",
          "addApplicantToPipeline",
          "changeCandidatePipeline",
          "rejectApplicant",
          "saveLead"
        ]
      },
      "hiring_project_id": {
        "type": "string"
      },
      "stage": {
        "type": "string",
        "description": "The default value for the stage will be uncontacted.",
        "enum": [
          "UNCONTACTED",
          "CONTACTED",
          "REPLIED"
        ]
      },
      "reason": {
        "type": "string",
        "enum": [
          "NOT_MEET_BASIC_QUALIFICATIONS",
          "NOT_IN_DESIRED_LOCATION",
          "MORE_QUALIFIED_CANDIDATES",
          "WITHDREW_APPLICATION",
          "NOT_CONSIDERED_OR_REASON_NOT_SPECIFIED"
        ]
      },
      "rejection_notification": {
        "type": "object",
        "description": "If the notification config is not provided, the applicant will simply not be notified that he has been rejected.",
        "properties": {
          "send_notification_at": {
            "type": "number",
            "description": "The UNIX milliseconds timestamp when the notification should be sent. Default is now."
          },
          "message": {
            "type": "string",
            "description": "The text content of the notification."
          }
        },
        "required": [
          "message"
        ],
        "additionalProperties": false
      },
      "list_id": {
        "type": "string"
      }
    },
    "required": [
      "user_id",
      "account_id",
      "api",
      "action"
    ],
    "anyOf": [
      {
        "type": "object",
        "description": "These options must be provided along with a user_id in query params corresponding to the AEM... ID format.",
        "properties": {
          "user_id": {
            "type": "string",
            "description": "The ID of the user."
          },
          "account_id": {
            "type": "string",
            "description": "A unique identifier.",
            "minLength": 1
          },
          "api": {
            "type": "string",
            "enum": [
              "recruiter"
            ]
          },
          "action": {
            "type": "string",
            "enum": [
              "addCandidateToPipeline",
              "addApplicantToPipeline",
              "changeCandidatePipeline"
            ]
          },
          "hiring_project_id": {
            "type": "string"
          },
          "stage": {
            "type": "string",
            "description": "The default value for the stage will be uncontacted.",
            "enum": [
              "UNCONTACTED",
              "CONTACTED",
              "REPLIED"
            ]
          }
        },
        "required": [
          "user_id",
          "account_id",
          "api",
          "action",
          "hiring_project_id"
        ],
        "additionalProperties": false
      },
      {
        "type": "object",
        "description": "These options must be provided along with a user_id in query params corresponding to the AEM... ID format.",
        "properties": {
          "user_id": {
            "type": "string",
            "description": "The ID of the user."
          },
          "account_id": {
            "type": "string",
            "description": "A unique identifier.",
            "minLength": 1
          },
          "api": {
            "type": "string",
            "enum": [
              "recruiter"
            ]
          },
          "action": {
            "type": "string",
            "enum": [
              "rejectApplicant"
            ]
          },
          "hiring_project_id": {
            "type": "string"
          },
          "reason": {
            "type": "string",
            "enum": [
              "NOT_MEET_BASIC_QUALIFICATIONS",
              "NOT_IN_DESIRED_LOCATION",
              "MORE_QUALIFIED_CANDIDATES",
              "WITHDREW_APPLICATION",
              "NOT_CONSIDERED_OR_REASON_NOT_SPECIFIED"
            ]
          },
          "rejection_notification": {
            "type": "object",
            "description": "If the notification config is not provided, the applicant will simply not be notified that he has been rejected.",
            "properties": {
              "send_notification_at": {
                "type": "number",
                "description": "The UNIX milliseconds timestamp when the notification should be sent. Default is now."
              },
              "message": {
                "type": "string",
                "description": "The text content of the notification."
              }
            },
            "required": [
              "message"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "user_id",
          "account_id",
          "api",
          "action",
          "hiring_project_id",
          "reason"
        ],
        "additionalProperties": false
      },
      {
        "type": "object",
        "description": "These options must be provided along with a user_id in query params corresponding to the ACw... ID format.",
        "properties": {
          "user_id": {
            "type": "string",
            "description": "The ID of the user."
          },
          "account_id": {
            "type": "string",
            "description": "A unique identifier.",
            "minLength": 1
          },
          "api": {
            "type": "string",
            "enum": [
              "sales_navigator"
            ]
          },
          "action": {
            "type": "string",
            "enum": [
              "saveLead"
            ]
          },
          "list_id": {
            "type": "string"
          }
        },
        "required": [
          "user_id",
          "account_id",
          "api",
          "action"
        ],
        "additionalProperties": false
      }
    ],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

Standard tool result payload.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `result.data` | `object` | Yes | — | Provider response payload. |
| `result.data.object` | `"LinkedinPerformActionOnUser"` | Yes | — | Allowed: `LinkedinPerformActionOnUser`. |
| `result.data.success` | `boolean` | Yes | — | — |
| `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": {
          "object": {
            "type": "string",
            "enum": [
              "LinkedinPerformActionOnUser"
            ]
          },
          "success": {
            "type": "boolean"
          }
        },
        "required": [
          "object",
          "success"
        ],
        "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

* [Unipile provider guide](https://deepline.com/docs/providers/unipile/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.