Google Analytics · Arazzo Workflow

Google Analytics Discover Property and Run Report

Version 1.0.0

Walk account summaries to find a GA4 property, list its properties, then run a core report.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub AnalyticsDataGoogleMetricsReportingWeb AnalyticsMachine-LearningAttributionArazzoWorkflows

Provider

google-analytics

Workflows

discover-and-run-report
Discover an accessible GA4 property and run a core report against it.
Lists account summaries, lists the properties under a chosen account, and runs a runReport request against the supplied property resource name.
3 steps inputs: accessToken, account, endDate, property, startDate outputs: accountSummaries, properties, rowCount, rows
1
listAccountSummaries
List summaries of every account accessible by the caller to confirm the target account is reachable.
2
listProperties
List the GA4 properties under the chosen account using a parent filter so a property can be selected for reporting.
3
runReport
Run a core report for active users and event count broken down by country over the supplied date range.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Google Analytics Discover Property and Run Report
  summary: Walk account summaries to find a GA4 property, list its properties, then run a core report.
  description: >-
    A discovery-to-reporting flow across the GA4 Admin and Data APIs. The
    workflow first lists the account summaries the caller can access, then lists
    the GA4 properties under the chosen account, and finally runs a core report
    against the selected property. Each step spells out its request inline,
    including the inline OAuth bearer authorization, so the flow can be read and
    executed without opening the underlying OpenAPI descriptions.
  version: 1.0.0
sourceDescriptions:
- name: accountsummariesApi
  url: ../openapi/google-analytics-accountsummaries-api-openapi.yml
  type: openapi
- name: propertiesApi
  url: ../openapi/google-analytics-properties-api-openapi.yml
  type: openapi
workflows:
- workflowId: discover-and-run-report
  summary: Discover an accessible GA4 property and run a core report against it.
  description: >-
    Lists account summaries, lists the properties under a chosen account, and
    runs a runReport request against the supplied property resource name.
  inputs:
    type: object
    required:
    - accessToken
    - account
    - property
    properties:
      accessToken:
        type: string
        description: OAuth 2.0 bearer access token with an analytics read scope.
      account:
        type: string
        description: 'Account resource name to list properties under (e.g. accounts/123).'
      property:
        type: string
        description: 'GA4 property resource name to report on (e.g. properties/1234).'
      startDate:
        type: string
        description: Inclusive report start date as YYYY-MM-DD or NdaysAgo.
        default: 28daysAgo
      endDate:
        type: string
        description: Inclusive report end date as YYYY-MM-DD, yesterday, or today.
        default: yesterday
  steps:
  - stepId: listAccountSummaries
    description: >-
      List summaries of every account accessible by the caller to confirm the
      target account is reachable.
    operationId: analyticsadmin.accountSummaries.list
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    - name: pageSize
      in: query
      value: 200
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      accountSummaries: $response.body#/accountSummaries
  - stepId: listProperties
    description: >-
      List the GA4 properties under the chosen account using a parent filter so
      a property can be selected for reporting.
    operationId: analyticsadmin.properties.list
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    - name: filter
      in: query
      value: parent:$inputs.account
    - name: pageSize
      in: query
      value: 200
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      properties: $response.body#/properties
  - stepId: runReport
    description: >-
      Run a core report for active users and event count broken down by country
      over the supplied date range.
    operationId: analyticsdata.properties.runReport
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    - name: property
      in: path
      value: $inputs.property
    requestBody:
      contentType: application/json
      payload:
        dimensions:
        - name: country
        metrics:
        - name: activeUsers
        - name: eventCount
        dateRanges:
        - startDate: $inputs.startDate
          endDate: $inputs.endDate
        limit: "100"
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      rows: $response.body#/rows
      rowCount: $response.body#/rowCount
      dimensionHeaders: $response.body#/dimensionHeaders
      metricHeaders: $response.body#/metricHeaders
  outputs:
    accountSummaries: $steps.listAccountSummaries.outputs.accountSummaries
    properties: $steps.listProperties.outputs.properties
    rows: $steps.runReport.outputs.rows
    rowCount: $steps.runReport.outputs.rowCount

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/google-analytics-discover-and-run-report-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.