Google Forms · Arazzo Workflow

Google Forms Unsubscribe Form Watches

Version 1.0.0

List the watches registered on a form and delete one to stop its notification delivery.

1 workflow 1 source API 1 provider
View Spec View on GitHub Data CollectionFormsGoogleGoogle WorkspaceQuestionnairesResponsesSurveysArazzoWorkflows

Provider

google-forms

Workflows

unsubscribe-form-watches
Find and remove a form's registered watch to stop notifications.
Lists the watches this project owns on the form, then deletes the first one returned so notification delivery stops.
2 steps inputs: formId outputs: deletedWatchId, watches
1
listRegisteredWatches
listWatches
List the watches this project owns on the form. This is the only way to recover a watch id that was not persisted at creation time, and it also surfaces each watch's state and error type so a failing subscription can be told apart from a healthy one.
2
deleteWatch
deleteWatch
Delete the identified watch. Delivery to its Pub/Sub topic stops immediately; the topic itself is untouched and has to be cleaned up separately if it is no longer needed.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Google Forms Unsubscribe Form Watches
  summary: List the watches registered on a form and delete one to stop its notification delivery.
  description: >-
    The teardown half of the watch lifecycle. Watch ids are not something an
    integration usually holds onto, so removing a subscription starts by listing
    what the calling project actually has registered on the form, and then
    deleting the identified watch to stop delivery to its Pub/Sub topic. Worth
    running when decommissioning an integration or when a watch is failing
    delivery and should be replaced rather than renewed. 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
sourceDescriptions:
- name: googleFormsApi
  url: ../openapi/google-forms-api.yaml
  type: openapi
workflows:
- workflowId: unsubscribe-form-watches
  summary: Find and remove a form's registered watch to stop notifications.
  description: >-
    Lists the watches this project owns on the form, then deletes the first one
    returned so notification delivery stops.
  inputs:
    type: object
    required:
    - formId
    properties:
      formId:
        type: string
        description: The id of the form whose watch should be removed.
  steps:
  - stepId: listRegisteredWatches
    description: >-
      List the watches this project owns on the form. This is the only way to
      recover a watch id that was not persisted at creation time, and it also
      surfaces each watch's state and error type so a failing subscription can be
      told apart from a healthy one.
    operationId: listWatches
    parameters:
    - name: formId
      in: path
      value: $inputs.formId
    successCriteria:
    - condition: $statusCode == 200
    - context: $response.body
      condition: $.watches.length > 0
      type: jsonpath
    outputs:
      watches: $response.body#/watches
      watchId: $response.body#/watches/0/id
      state: $response.body#/watches/0/state
      errorType: $response.body#/watches/0/errorType
  - stepId: deleteWatch
    description: >-
      Delete the identified watch. Delivery to its Pub/Sub topic stops
      immediately; the topic itself is untouched and has to be cleaned up
      separately if it is no longer needed.
    operationId: deleteWatch
    parameters:
    - name: formId
      in: path
      value: $inputs.formId
    - name: watchId
      in: path
      value: $steps.listRegisteredWatches.outputs.watchId
    successCriteria:
    - condition: $statusCode == 204
    outputs:
      deletedWatchId: $steps.listRegisteredWatches.outputs.watchId
  outputs:
    watches: $steps.listRegisteredWatches.outputs.watches
    deletedWatchId: $steps.deleteWatch.outputs.deletedWatchId