LinkedIn

Send Linkedin Inmail

Send a LinkedIn InMail to people outside your network.

1 creditRuns in your LinkedIn account

Endpoint

Parameters

NameTypeRequiredNote
senderUrllinkedin-sender · requiredlinkedin-senderrequired

LinkedIn account to send from. Select a connected LinkedIn account.

Example: https://www.linkedin.com/in/username

apiTypestring · optionalstringoptional

Which LinkedIn account type to use. Auto detects from account type.

One of: auto (Auto), sales_navigator (Sales Navigator), recruiter (Recruiter)

Default: auto

recipientUrlstring · requiredstringrequired

LinkedIn profile URL (e.g. https://linkedin.com/in/username). Supports template variables.

Example: https://linkedin.com/in/username

subjectstring · requiredstringrequired

Email subject line. Supports a {{…}} reference (an earlier step's output, the current Record's Field, or inside a For Each the loop item {{<For Each>.item.<Field>}}) for personalization.

messageModestring · requiredstringrequired

Let AI write the message or write it yourself

One of: ai_personalized (AI Personalized), manual (Write Manually)

Default: manual

promptstring · optionalstringoptional

Prompt template. Use {{first_name}}, {{last_name}}, {{full_name}}, {{headline}}, {{company_name}}, {{company_position}}, {{location}} variables.

Used only when messageMode is ai_personalized.

Default: Write a personalized LinkedIn InMail to {{full_name}}. Recipient info: - Headline: {{headline}} - Company: {{company_name}} - Position: {{company_position}} - Location: {{location}}

messagestring · required if messageMode is manual and messageMode is manualstringrequired if messageMode is manual and messageMode is manual

Message body. Use HTML for email (<p> tags) or plain text for chat. Supports template variables.

rateLimitConfigobject · optionalobjectoptional

Rate Limit Config configuration. Refer to the tool documentation for expected format.

Default: {"scope":"user","delaySeconds":30,"maxConcurrent":1}

Response schema

{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "status",
    "message",
    "recipientUrl",
    "senderUrl",
    "senderId",
    "sentAt"
  ],
  "properties": {
    "data": {},
    "note": {
      "type": "string"
    },
    "sentAt": {
      "type": "string"
    },
    "status": {
      "enum": [
        "sent",
        "queued",
        "failed"
      ],
      "type": "string"
    },
    "message": {
      "type": "string"
    },
    "senderId": {
      "type": "string",
      "description": "The connected account identifier that was acted from — a LinkedIn member URN."
    },
    "senderUrl": {
      "type": [
        "string",
        "null"
      ]
    },
    "is_replied": {
      "type": "boolean",
      "default": false,
      "description": "Whether the recipient has replied (updated by the reply tracker; false until a reply is detected)."
    },
    "replied_at": {
      "type": "string",
      "description": "ISO timestamp when a reply was detected (present once replied)."
    },
    "recipientUrl": {
      "type": "string"
    },
    "reply_positive": {
      "type": "boolean",
      "description": "Whether the detected reply was classified positive (present once replied)."
    }
  },
  "additionalProperties": false
}

Get started

How to use this action

  1. Connect your AI

    Add Connie to ChatGPT, Claude or Slack once, then connect your account for this app. There’s no API key to manage.

  2. Ask for the outcome

    Describe what you need in plain words. Your AI runs this app’s actions when the job calls for them, along with any other tools it needs.

  3. Make it a workflow

    Add an action as a step in a workflow that runs the same way every time, on a schedule or when something happens.

  4. Stay in control

    Choose whether each action runs on its own or asks first. When it asks, you see an Allow or Deny card before anything changes in the app.