LinkedIn · Arazzo Workflow

LinkedIn Export Post Engagement

Version 1.0.0

Pull an organization's posts, then export the reactions and comments on a chosen activity.

1 workflow 1 source API 1 provider
View Spec View on GitHub BusinessCareersMarketingProfessional NetworkingRecruitingSocial MediaArazzoWorkflows

Provider

linkedin

Workflows

export-post-engagement
Pull organization posts and export reactions and comments for an activity.
Retrieves an organization's posts and then exports the reactions and comments associated with a chosen activity URN.
3 steps inputs: activityUrn, authorUrn, authorization, commentsQueryType, linkedinVersion, postsQueryType, reactionsQueryType outputs: comments, posts, reactions
1
getOrganizationPosts
getPosts
Retrieve the posts published by the organization for data portability export.
2
getActivityReactions
getReactions
Retrieve the reactions on the chosen activity for data portability export.
3
getActivityComments
getComments
Retrieve the comments on the chosen activity for data portability export.

Source API Descriptions

Arazzo Workflow Specification

linkedin-export-post-engagement-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: LinkedIn Export Post Engagement
  summary: Pull an organization's posts, then export the reactions and comments on a chosen activity.
  description: >-
    The Data Portability (DMA) APIs expose organization feed content for
    compliance export. This workflow retrieves the posts published by an
    organization, then pulls the reactions and comments associated with a chosen
    activity URN so engagement can be exported in a single pass. The classic
    write-side comment and like endpoints are not present in these specs, so the
    social-actions theme is adapted to the read-only DMA reactions and comments
    finders. Every step spells out its request inline, including the
    Authorization bearer token and the required LinkedIn-Version header, so the
    flow can be read and executed without opening the underlying OpenAPI
    description.
  version: 1.0.0
sourceDescriptions:
- name: dataPortabilityApi
  url: ../openapi/linkedin-regulations-data-portability.yml
  type: openapi
workflows:
- workflowId: export-post-engagement
  summary: Pull organization posts and export reactions and comments for an activity.
  description: >-
    Retrieves an organization's posts and then exports the reactions and comments
    associated with a chosen activity URN.
  inputs:
    type: object
    required:
    - authorization
    - linkedinVersion
    - postsQueryType
    - reactionsQueryType
    - commentsQueryType
    - authorUrn
    - activityUrn
    properties:
      authorization:
        type: string
        description: The OAuth 2.0 bearer credential, e.g. "Bearer <access-token>".
      linkedinVersion:
        type: string
        description: The LinkedIn-Version header in YYYYMM format (e.g. "202401").
      postsQueryType:
        type: string
        description: The finder query type for the posts endpoint (the q parameter).
      reactionsQueryType:
        type: string
        description: The finder query type for the reactions endpoint (the q parameter).
      commentsQueryType:
        type: string
        description: The finder query type for the comments endpoint (the q parameter).
      authorUrn:
        type: string
        description: The organization author URN whose posts to retrieve (e.g. "urn:li:organization:10002687").
      activityUrn:
        type: string
        description: The activity (share) URN to export reactions and comments for (e.g. "urn:li:share:7012345678901234567").
  steps:
  - stepId: getOrganizationPosts
    description: >-
      Retrieve the posts published by the organization for data portability
      export.
    operationId: getPosts
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authorization
    - name: LinkedIn-Version
      in: header
      value: $inputs.linkedinVersion
    - name: X-Restli-Protocol-Version
      in: header
      value: "2.0.0"
    - name: q
      in: query
      value: $inputs.postsQueryType
    - name: author
      in: query
      value: $inputs.authorUrn
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      posts: $response.body
  - stepId: getActivityReactions
    description: >-
      Retrieve the reactions on the chosen activity for data portability export.
    operationId: getReactions
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authorization
    - name: LinkedIn-Version
      in: header
      value: $inputs.linkedinVersion
    - name: X-Restli-Protocol-Version
      in: header
      value: "2.0.0"
    - name: q
      in: query
      value: $inputs.reactionsQueryType
    - name: activityUrn
      in: query
      value: $inputs.activityUrn
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      reactions: $response.body
  - stepId: getActivityComments
    description: >-
      Retrieve the comments on the chosen activity for data portability export.
    operationId: getComments
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authorization
    - name: LinkedIn-Version
      in: header
      value: $inputs.linkedinVersion
    - name: X-Restli-Protocol-Version
      in: header
      value: "2.0.0"
    - name: q
      in: query
      value: $inputs.commentsQueryType
    - name: activityUrn
      in: query
      value: $inputs.activityUrn
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      comments: $response.body
  outputs:
    posts: $steps.getOrganizationPosts.outputs.posts
    reactions: $steps.getActivityReactions.outputs.reactions
    comments: $steps.getActivityComments.outputs.comments