Refinitiv Eikon · Arazzo Workflow

Refinitiv Eikon Instrument ESG Profile

Version 1.0.0

Resolve an instrument by search, pull its full ESG scores, then drill into detailed ESG measures.

1 workflow 1 source API 1 provider
View Spec View on GitHub AnalyticsFinancial DataFinancial NewsMarket DataReal-Time DataTradingArazzoWorkflows

Provider

refinitiv-eikon

Workflows

instrument-esg-profile
Resolve an instrument and assemble its ESG scores and detailed measures.
Searches for an instrument, captures its RIC, retrieves the full ESG pillar scores, and when scores are present, drills into the detailed ESG measures for the same instrument.
3 steps inputs: accessToken, query outputs: esgMeasures, esgScores, resolvedRic
1
searchInstrument
$sourceDescriptions.dataPlatformApi.searchInstruments
Search for the target instrument across entities and capture the RIC of the top hit.
2
getEsgScores
getEsgScoresFull
Retrieve the full ESG pillar and combined scores for the resolved instrument.
3
getEsgMeasures
getEsgMeasuresFull
Drill into the detailed ESG measures and underlying data points for the same instrument.

Source API Descriptions

Arazzo Workflow Specification

refinitiv-eikon-instrument-esg-profile-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Refinitiv Eikon Instrument ESG Profile
  summary: Resolve an instrument by search, pull its full ESG scores, then drill into detailed ESG measures.
  description: >-
    An ESG research pattern on the Refinitiv Data Platform. The workflow
    searches for an instrument, captures its RIC, retrieves the full set of
    Environmental, Social, and Governance pillar scores, and branches: when
    scores are returned it drills into the underlying detailed ESG measures for
    the same instrument. Each step spells out its request inline so the flow can
    be read and executed without opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: dataPlatformApi
  url: ../openapi/refinitiv-eikon-data-platform-openapi.yml
  type: openapi
workflows:
- workflowId: instrument-esg-profile
  summary: Resolve an instrument and assemble its ESG scores and detailed measures.
  description: >-
    Searches for an instrument, captures its RIC, retrieves the full ESG pillar
    scores, and when scores are present, drills into the detailed ESG measures
    for the same instrument.
  inputs:
    type: object
    required:
    - accessToken
    - query
    properties:
      accessToken:
        type: string
        description: OAuth 2.0 bearer access token obtained from the token endpoint.
      query:
        type: string
        description: Free-text search query identifying the company or instrument.
  steps:
  - stepId: searchInstrument
    description: >-
      Search for the target instrument across entities and capture the RIC of the
      top hit.
    operationId: $sourceDescriptions.dataPlatformApi.searchInstruments
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    requestBody:
      contentType: application/json
      payload:
        View: Entities
        Query: $inputs.query
        Top: 1
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      ric: $response.body#/Hits/0/RIC
    onSuccess:
    - name: hitFound
      type: goto
      stepId: getEsgScores
      criteria:
      - context: $response.body
        condition: $.Total > 0
        type: jsonpath
    - name: noHit
      type: end
      criteria:
      - context: $response.body
        condition: $.Total == 0
        type: jsonpath
  - stepId: getEsgScores
    description: >-
      Retrieve the full ESG pillar and combined scores for the resolved
      instrument.
    operationId: getEsgScoresFull
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    - name: universe
      in: query
      value: $steps.searchInstrument.outputs.ric
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      scores: $response.body#/data
      esgScore: $response.body#/data/0/esgScore
    onSuccess:
    - name: scoresFound
      type: goto
      stepId: getEsgMeasures
      criteria:
      - context: $response.body
        condition: $.data.length > 0
        type: jsonpath
    - name: noScores
      type: end
      criteria:
      - context: $response.body
        condition: $.data.length == 0
        type: jsonpath
  - stepId: getEsgMeasures
    description: >-
      Drill into the detailed ESG measures and underlying data points for the
      same instrument.
    operationId: getEsgMeasuresFull
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    - name: universe
      in: query
      value: $steps.searchInstrument.outputs.ric
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      measures: $response.body#/data/0/measures
  outputs:
    resolvedRic: $steps.searchInstrument.outputs.ric
    esgScores: $steps.getEsgScores.outputs.scores
    esgMeasures: $steps.getEsgMeasures.outputs.measures