Google Android · Arazzo Workflow

Google Android Configure Enterprise Pub/Sub Notifications

Version 1.0.0

Read the enterprise, patch its Pub/Sub topic and notification types with an updateMask, then read back to confirm.

1 workflow 1 source API 1 provider
View Spec View on GitHub AndroidGoogleMobile DevelopmentMobile Operating SystemOpen-SourceArazzoWorkflows

Provider

google-android

Workflows

configure-enterprise-notifications
Point an enterprise at a Pub/Sub topic and confirm the notification types stuck.
Captures the prior notification configuration, applies a masked patch, and verifies the enterprise reads back with the intended topic and types.
3 steps inputs: enabledNotificationTypes, enterpriseName, pubsubTopic outputs: confirmedNotificationTypes, confirmedTopic, previousTopic
1
readEnterpriseBefore
Read the enterprise to capture the notification configuration in force before the change, so the patch can be reviewed or reverted.
2
patchNotifications
Patch the Pub/Sub topic and notification types. The updateMask restricts the write to these two fields so the enterprise display name, logo, and primary color are left intact.
3
confirmNotifications
Read the enterprise back to confirm the topic persisted. A topic the Android Management service account cannot publish to is rejected here rather than failing silently later.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Google Android Configure Enterprise Pub/Sub Notifications
  summary: Read the enterprise, patch its Pub/Sub topic and notification types with an updateMask, then read back to confirm.
  description: >-
    Without notifications an EMM integration has to poll every device to notice
    anything, so wiring the enterprise to a Pub/Sub topic is a standard
    hardening step. This workflow reads the enterprise to capture the current
    notification configuration, patches the topic and enabled notification types
    under an updateMask so branding fields are not clobbered, and reads the
    enterprise back to confirm the change persisted. Every step spells out its
    request inline so the flow can be read and executed without opening the
    underlying OpenAPI description.
  version: 1.0.0
  x-realizes-capability-ids:
  - BC-600
  x-capability-derivation:
    method: 'deterministic join: sourceDescriptions -> per-tag OpenAPI -> tag/capability edge. No classification at this step.'
    min_confidence: 0.7
    sources:
    - capability_id: BC-600
      capability_name: Information Technology Management
      spec: google-android-android-management-api-api-openapi.yml
      confidence: 0.7
    model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: androidManagementApiApi
  url: ../openapi/google-android-android-management-api-api-openapi.yml
  type: openapi
workflows:
- workflowId: configure-enterprise-notifications
  summary: Point an enterprise at a Pub/Sub topic and confirm the notification types stuck.
  description: >-
    Captures the prior notification configuration, applies a masked patch, and
    verifies the enterprise reads back with the intended topic and types.
  inputs:
    type: object
    required:
    - enterpriseName
    - pubsubTopic
    properties:
      enterpriseName:
        type: string
        description: The enterprise resource name (e.g. enterprises/LC0123abcd).
      pubsubTopic:
        type: string
        description: The Pub/Sub topic to publish to (e.g. projects/my-project/topics/android-notifications).
      enabledNotificationTypes:
        type: array
        description: The notification types to enable (e.g. ENROLLMENT, STATUS_REPORT, COMMAND).
        items:
          type: string
  steps:
  - stepId: readEnterpriseBefore
    description: >-
      Read the enterprise to capture the notification configuration in force
      before the change, so the patch can be reviewed or reverted.
    operationId: getEnterprise
    parameters:
    - name: name
      in: path
      value: $inputs.enterpriseName
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      enterpriseName: $response.body#/name
      previousTopic: $response.body#/pubsubTopic
      previousNotificationTypes: $response.body#/enabledNotificationTypes
  - stepId: patchNotifications
    description: >-
      Patch the Pub/Sub topic and notification types. The updateMask restricts
      the write to these two fields so the enterprise display name, logo, and
      primary color are left intact.
    operationId: patchEnterprise
    parameters:
    - name: name
      in: path
      value: $steps.readEnterpriseBefore.outputs.enterpriseName
    - name: updateMask
      in: query
      value: pubsubTopic,enabledNotificationTypes
    requestBody:
      contentType: application/json
      payload:
        pubsubTopic: $inputs.pubsubTopic
        enabledNotificationTypes: $inputs.enabledNotificationTypes
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      patchedTopic: $response.body#/pubsubTopic
      patchedNotificationTypes: $response.body#/enabledNotificationTypes
  - stepId: confirmNotifications
    description: >-
      Read the enterprise back to confirm the topic persisted. A topic the
      Android Management service account cannot publish to is rejected here
      rather than failing silently later.
    operationId: getEnterprise
    parameters:
    - name: name
      in: path
      value: $steps.readEnterpriseBefore.outputs.enterpriseName
    successCriteria:
    - condition: $statusCode == 200
    - context: $response.body
      condition: $.pubsubTopic != null
      type: jsonpath
    outputs:
      confirmedTopic: $response.body#/pubsubTopic
      confirmedNotificationTypes: $response.body#/enabledNotificationTypes
  outputs:
    previousTopic: $steps.readEnterpriseBefore.outputs.previousTopic
    confirmedTopic: $steps.confirmNotifications.outputs.confirmedTopic
    confirmedNotificationTypes: $steps.confirmNotifications.outputs.confirmedNotificationTypes

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-android-notification-configuration-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.