Google Analytics · Arazzo Workflow

Google Analytics Create Property and Web Data Stream

Version 1.0.0

Create a GA4 property under an account, then attach a web data stream to it.

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

Provider

google-analytics

Workflows

create-property-data-stream
Create a GA4 property and a web data stream under it.
Creates a property under the supplied parent account, then creates a web data stream on the newly created property.
2 steps inputs: accessToken, currencyCode, defaultUri, parent, propertyDisplayName, streamDisplayName, timeZone outputs: dataStreamName, propertyName
1
createProperty
Create a GA4 property under the parent account with the supplied display name, time zone, and currency.
2
createDataStream
Create a web data stream on the newly created property so it can begin collecting measurement data.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Google Analytics Create Property and Web Data Stream
  summary: Create a GA4 property under an account, then attach a web data stream to it.
  description: >-
    A provisioning flow on the GA4 Admin API. The workflow creates a new GA4
    property under a parent account, captures the generated property resource
    name, and then creates a web data stream on that property so it can begin
    collecting measurement data. Each request is spelled out inline, including
    the OAuth bearer authorization, so the provisioning sequence can be read and
    executed without opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: propertiesApi
  url: ../openapi/google-analytics-properties-api-openapi.yml
  type: openapi
workflows:
- workflowId: create-property-data-stream
  summary: Create a GA4 property and a web data stream under it.
  description: >-
    Creates a property under the supplied parent account, then creates a web
    data stream on the newly created property.
  inputs:
    type: object
    required:
    - accessToken
    - parent
    - propertyDisplayName
    - timeZone
    - streamDisplayName
    properties:
      accessToken:
        type: string
        description: OAuth 2.0 bearer access token with the analytics edit scope.
      parent:
        type: string
        description: 'Parent account resource name for the new property (e.g. accounts/123).'
      propertyDisplayName:
        type: string
        description: Human-readable display name for the new GA4 property.
      timeZone:
        type: string
        description: 'Reporting time zone for the property (e.g. America/New_York).'
      currencyCode:
        type: string
        description: 'Reporting currency in ISO 4217 format (e.g. USD).'
        default: USD
      streamDisplayName:
        type: string
        description: Human-readable display name for the web data stream.
      defaultUri:
        type: string
        description: 'Domain name of the web app being measured (e.g. https://www.example.com).'
  steps:
  - stepId: createProperty
    description: >-
      Create a GA4 property under the parent account with the supplied display
      name, time zone, and currency.
    operationId: analyticsadmin.properties.create
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    requestBody:
      contentType: application/json
      payload:
        parent: $inputs.parent
        displayName: $inputs.propertyDisplayName
        timeZone: $inputs.timeZone
        currencyCode: $inputs.currencyCode
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      propertyName: $response.body#/name
      displayName: $response.body#/displayName
  - stepId: createDataStream
    description: >-
      Create a web data stream on the newly created property so it can begin
      collecting measurement data.
    operationId: analyticsadmin.properties.dataStreams.create
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    - name: parent
      in: path
      value: $steps.createProperty.outputs.propertyName
    requestBody:
      contentType: application/json
      payload:
        type: WEB_DATA_STREAM
        displayName: $inputs.streamDisplayName
        webStreamData:
          defaultUri: $inputs.defaultUri
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      dataStreamName: $response.body#/name
      webStreamData: $response.body#/webStreamData
  outputs:
    propertyName: $steps.createProperty.outputs.propertyName
    dataStreamName: $steps.createDataStream.outputs.dataStreamName

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-create-property-data-stream-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.