Adobe Analytics · Arazzo Workflow

Adobe Analytics Annotate a Date Range and Run a Report

Version 1.0.0

Review saved date ranges, create an annotation for a period, then run a report over it.

1 workflow 1 source API 1 provider
View Spec View on GitHub AdobeAnalyticsBusiness IntelligenceCustomer IntelligenceDigital MarketingMarketingWeb AnalyticsArazzoWorkflows

Provider

adobe-analytics

Workflows

annotate-and-run-report
Create an annotation for a date range and run a report over that range.
Lists saved date ranges for reference, creates an annotation describing a period on a report suite, and runs a report scoped to the same period.
3 steps inputs: accessToken, annotationColor, annotationDescription, annotationName, apiKey, dateRange, dimension, locale, metricId, rsid outputs: annotationId, rows
1
listDateRanges
listDateRanges
List the saved date ranges available to the company for reference.
2
createAnnotation
createAnnotation
Create an annotation documenting the period on the report suite.
3
runReport
runReport
Run a report scoped to the same period that was just annotated.

Source API Descriptions

Arazzo Workflow Specification

adobe-analytics-annotate-and-run-report-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Adobe Analytics Annotate a Date Range and Run a Report
  summary: Review saved date ranges, create an annotation for a period, then run a report over it.
  description: >-
    Marks a notable period in the reporting timeline and reports on it in one
    pass. The workflow lists the saved date ranges available to the company for
    reference, creates an annotation that documents a specific date range on a
    report suite, and then runs a report scoped to the same date range so the
    annotated period can be examined immediately. Every step spells out its
    request inline, including the Adobe IMS bearer token and Developer Console
    API key headers.
  version: 1.0.0
sourceDescriptions:
- name: analyticsApi
  url: ../openapi/adobe-analytics-api-openapi.yml
  type: openapi
workflows:
- workflowId: annotate-and-run-report
  summary: Create an annotation for a date range and run a report over that range.
  description: >-
    Lists saved date ranges for reference, creates an annotation describing a
    period on a report suite, and runs a report scoped to the same period.
  inputs:
    type: object
    required:
    - accessToken
    - apiKey
    - rsid
    - annotationName
    - dateRange
    - metricId
    properties:
      accessToken:
        type: string
        description: Adobe IMS OAuth 2.0 access token (sent as a Bearer token).
      apiKey:
        type: string
        description: Adobe Developer Console API key (x-api-key header).
      rsid:
        type: string
        description: The report suite ID to annotate and report against.
      locale:
        type: string
        description: Locale for response labels (e.g. en_US).
        default: en_US
      annotationName:
        type: string
        description: Display name for the annotation.
      annotationDescription:
        type: string
        description: Notes documenting why this period is annotated.
        default: Created via Arazzo workflow.
      dateRange:
        type: string
        description: >-
          ISO 8601 date range covered by both the annotation and the report
          global date filter.
      annotationColor:
        type: string
        description: Hex color code for the annotation display.
        default: "#1473E6"
      metricId:
        type: string
        description: The metric ID to report on (e.g. metrics/visits).
      dimension:
        type: string
        description: The primary dimension ID for the report (e.g. variables/page).
        default: variables/page
  steps:
  - stepId: listDateRanges
    description: List the saved date ranges available to the company for reference.
    operationId: listDateRanges
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    - name: x-api-key
      in: header
      value: $inputs.apiKey
    - name: locale
      in: query
      value: $inputs.locale
    - name: limit
      in: query
      value: 10
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      firstDateRangeId: $response.body#/0/id
  - stepId: createAnnotation
    description: Create an annotation documenting the period on the report suite.
    operationId: createAnnotation
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    - name: x-api-key
      in: header
      value: $inputs.apiKey
    requestBody:
      contentType: application/json
      payload:
        name: $inputs.annotationName
        description: $inputs.annotationDescription
        dateRange: $inputs.dateRange
        rsids:
        - $inputs.rsid
        color: $inputs.annotationColor
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      annotationId: $response.body#/id
  - stepId: runReport
    description: Run a report scoped to the same period that was just annotated.
    operationId: runReport
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    - name: x-api-key
      in: header
      value: $inputs.apiKey
    requestBody:
      contentType: application/json
      payload:
        rsid: $inputs.rsid
        locale: $inputs.locale
        globalFilters:
        - type: dateRange
          dateRange: $inputs.dateRange
        metricContainer:
          metrics:
          - id: $inputs.metricId
            columnId: "0"
        dimension: $inputs.dimension
        settings:
          limit: 50
          page: 0
          nonesBehavior: exclude-nones
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      rows: $response.body#/rows
  outputs:
    annotationId: $steps.createAnnotation.outputs.annotationId
    rows: $steps.runReport.outputs.rows