Upload Document

linkedin.upload_document
ActionChat & messagingconnection required

Calls the LinkedIn API with the connection's credentials.

Register and upload a document in one step, returning the document URN to attach to a post. PDF, DOC, DOCX, PPT or PPTX, under 100 MB and 300 pages.

Connection

Required
Yes — the node will not save without one
Auth type
Bearer token
Providers
LinkedIn
Secret shape
the LinkedIn OAuth2 access token, or {"access_token": "…"}
Config it needs
api_version
Resolved by
config.connection_id, else node.connection_id

Configuration

4 fields, 2 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.

FieldTypeRequiredDefaultConstraintsExample
owner_urn
Who owns the uploaded asset: urn:li:person:{id} or urn:li:organization:{id}. It must match the author of the post the asset is used in.
stringYes——urn:li:organization:2414183
body
The file itself: a base64 blob with content_encoding set to 'base64' (wire an upstream file node's file_content straight in), or text.
stringYes—≥ 1 characters—
content_encoding
Set to 'base64' when body is a base64 blob (e.g. from a download_archive node). Defaults to the upstream file's encoding, else text.
stringNo—one of "text", "base64"—
content_type
MIME type of the file, e.g. image/png or application/pdf. Defaults to application/octet-stream when the upstream step did not say.
stringNo———

Example configuration

Every value below is the contract’s own example or default — nothing invented.

{
  "owner_urn": "urn:li:organization:2414183"
}

Output

One shape.

result

FieldTypeExample
document_urn
The urn:li:document: to pass to create_share.
string—
upload_url
The one-shot URL the bytes went to.
string—
owner
The owner URN the document belongs to.
string—
size
How many bytes were uploaded.
number—
{
  "document_urn": "",
  "owner": "",
  "size": 0,
  "upload_url": ""
}

Notes

  • An image or document is a three-step dance: register the upload, PUT the bytes, then reference the returned URN as media_urn on linkedin.create_share. The asset must reach status AVAILABLE before the post renders it.
  • A document attachment must also carry media_title on create_share — LinkedIn refuses the post without it.

See Upload Document run in a workflow.

In a technical demo we add the LinkedIn connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.