ReferenceCommands

Approve Or Send LinkedIn Draft

Approve a LinkedIn draft by default, or force an immediate send for an already engaged conversation.

linkedinmutateallow
Approve Or Send LinkedIn Draft

Approve a LinkedIn draft by default, or force an immediate send for an already engaged conversation.

When to use

Use this after `linkedin.draft.create` to select the final variation, and reserve `send_now=true` for leads whose existing LinkedIn conversation has already been synced.

Risk notes

  • This command mutates outbound draft state and can send immediately when `send_now=true`.

Output notes

  • Default behavior is approval-only and returns `mode=approved` with `dispatch_result=null`.
  • `send_now=true` bypasses LinkedIn usage limits and should only be used for existing conversations when the time savings justify the risk.
  • Responses default to `full` mode through the public API and CLI.
  • Use `compact` only when token savings matter more than prospecting quality. It can noticeably reduce prospecting quality.

Output schema

json
{
  "type": "object",
  "properties": {
    "draft": {
      "type": "object",
      "properties": {
        "draft_id": {
          "type": "string"
        },
        "status": {
          "type": "string",
          "enum": [
            "PENDING_REVIEW",
            "READY_TO_SEND",
            "DISPATCHED",
            "CANCELLED"
          ]
        },
        "channel": {
          "type": "string",
          "enum": [
            "LINKEDIN"
          ]
        },
        "dispatched_queue_item_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "dispatched_message_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "dispatched_external_message_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "selected_variation_index": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "selected_body_text": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "approved_at": {
          "anyOf": [
            {
              "type": "string",
              "format": "date-time"
            },
            {
              "type": "null"
            }
          ]
        },
        "cancelled_at": {
          "anyOf": [
            {
              "type": "string",
              "format": "date-time"
            },
            {
              "type": "null"
            }
          ]
        },
        "dispatched_at": {
          "anyOf": [
            {
              "type": "string",
              "format": "date-time"
            },
            {
              "type": "null"
            }
          ]
        },
        "created_at": {
          "type": "string",
          "format": "date-time"
        },
        "updated_at": {
          "type": "string",
          "format": "date-time"
        },
        "created_by_user_id": {
          "type": "string"
        },
        "created_by_actor_kind": {
          "type": "string",
          "enum": [
            "USER",
            "AI_AGENT"
          ]
        },
        "approved_by_user_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "approved_by_actor_kind": {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "USER",
                "AI_AGENT"
              ]
            },
            {
              "type": "null"
            }
          ]
        },
        "lead": {
          "type": "object",
          "properties": {
            "lead_id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "company_name": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "job_title": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "linkedin_url": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "lead_id",
            "name",
            "company_name",
            "job_title",
            "linkedin_url"
          ],
          "additionalProperties": false
        },
        "agent": {
          "type": "object",
          "properties": {
            "agent_id": {
              "type": "string"
            },
            "handle": {
              "type": "string"
            },
            "name": {
              "type": "string"
            }
          },
          "required": [
            "agent_id",
            "handle",
            "name"
          ],
          "additionalProperties": false
        },
        "mission": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "mission_id": {
                  "type": "string"
                },
                "handle": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                }
              },
              "required": [
                "mission_id",
                "handle",
                "name"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        },
        "variations": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "position": {
                "type": "integer"
              },
              "body_text": {
                "type": "string"
              }
            },
            "required": [
              "position",
              "body_text"
            ],
            "additionalProperties": false
          }
        }
      },
      "required": [
        "draft_id",
        "status",
        "channel",
        "dispatched_queue_item_id",
        "dispatched_message_id",
        "dispatched_external_message_id",
        "selected_variation_index",
        "selected_body_text",
        "approved_at",
        "cancelled_at",
        "dispatched_at",
        "created_at",
        "updated_at",
        "created_by_user_id",
        "created_by_actor_kind",
        "approved_by_user_id",
        "approved_by_actor_kind",
        "lead",
        "agent",
        "mission",
        "variations"
      ],
      "additionalProperties": false
    },
    "dispatch_result": {
      "anyOf": [
        {
          "oneOf": [
            {
              "type": "object",
              "properties": {
                "status": {
                  "const": "sent"
                },
                "messageId": {
                  "type": "string"
                },
                "externalMessageId": {
                  "type": "string"
                }
              },
              "required": [
                "status"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "properties": {
                "status": {
                  "const": "queued"
                },
                "queueId": {
                  "type": "string"
                }
              },
              "required": [
                "status",
                "queueId"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "properties": {
                "status": {
                  "const": "waiting_relation"
                },
                "messageQueueId": {
                  "type": "string"
                }
              },
              "required": [
                "status",
                "messageQueueId"
              ],
              "additionalProperties": false
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "mode": {
      "type": "string",
      "enum": [
        "approved",
        "sent"
      ]
    }
  },
  "required": [
    "draft",
    "dispatch_result",
    "mode"
  ],
  "additionalProperties": false
}

CLI

bash
salestouch commands run linkedin.draft.approve --input-json '{"draft_id":"<string>"}' --json

Payload

json
{
  "draft_id": "<string>"
}

Runtime Command

linkedin.draft.approve is exposed through the shared SalesTouch runtime and stays available across API, CLI and MCP.

HTTP Reference

POST
/api/v1/commands/{commandId}

Authorization

AuthorizationBearer <token>

Use Authorization: Bearer <salestouch_api_key>.

In: header

Path Parameters

commandId*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://www.salestouch.io/api/v1/commands/string" \  -H "Content-Type: application/json" \  -d '{}'
{
  "ok": true,
  "status": 0,
  "data": {},
  "error": {
    "code": "string",
    "message": "string"
  },
  "meta": {
    "approval_required": true,
    "approval_request_id": "string",
    "command_hash": "string",
    "warnings": [
      "string"
    ]
  }
}
{
  "ok": true,
  "status": 0,
  "data": {},
  "error": {
    "code": "string",
    "message": "string"
  },
  "meta": {
    "approval_required": true,
    "approval_request_id": "string",
    "command_hash": "string",
    "warnings": [
      "string"
    ]
  }
}
{
  "error": {
    "message": "string",
    "code": "string"
  }
}
{
  "error": {
    "message": "string",
    "code": "string"
  }
}
{
  "ok": true,
  "status": 0,
  "data": {},
  "error": {
    "code": "string",
    "message": "string"
  },
  "meta": {
    "approval_required": true,
    "approval_request_id": "string",
    "command_hash": "string",
    "warnings": [
      "string"
    ]
  }
}
{
  "ok": true,
  "status": 0,
  "data": {},
  "error": {
    "code": "string",
    "message": "string"
  },
  "meta": {
    "approval_required": true,
    "approval_request_id": "string",
    "command_hash": "string",
    "warnings": [
      "string"
    ]
  }
}
{
  "ok": true,
  "status": 0,
  "data": {},
  "error": {
    "code": "string",
    "message": "string"
  },
  "meta": {
    "approval_required": true,
    "approval_request_id": "string",
    "command_hash": "string",
    "warnings": [
      "string"
    ]
  }
}

Schema Reference

GET
/api/v1/commands/{commandId}/schema

Authorization

AuthorizationBearer <token>

Use Authorization: Bearer <salestouch_api_key>.

In: header

Path Parameters

commandId*string

Response Body

application/json

application/json

application/json

application/json

curl -X GET "https://www.salestouch.io/api/v1/commands/string/schema"
{
  "data": {
    "command": {
      "command_id": "string",
      "title": "string",
      "description": "string",
      "summary": "string",
      "visibility": "public",
      "risk": "read",
      "category": "linkedin",
      "default_permission": "allow",
      "when_to_use": "string",
      "risk_notes": [
        "string"
      ],
      "output_notes": [
        "string"
      ],
      "related_commands": [
        "string"
      ],
      "related_resources": [
        "string"
      ],
      "examples": [
        {
          "title": "string",
          "language": "string",
          "code": "string"
        }
      ],
      "input_schema": {},
      "output_schema": {},
      "approval_output_schema": {}
    }
  }
}
{
  "error": {
    "message": "string",
    "code": "string"
  }
}
{
  "error": {
    "message": "string",
    "code": "string"
  }
}
{
  "error": {
    "message": "string",
    "code": "string"
  }
}

On this page