Cross-Provider Workflow

Google Sheets Row to Slack Reminder

Version 1.0.0

Read a Google Sheet row, then set a Slack reminder from it.

1 workflow 2 source APIs 2 providers
View Spec View on GitHub ArazzoWorkflowsCross-Provider

Providers Orchestrated

google-sheets slack

Workflows

sheet-row-to-reminder
Read a Google Sheet value, then create a Slack reminder.
Reads a follow-up value from a Google Sheet range and creates a Slack reminder using that text.
2 steps inputs: range, remindWhen, spreadsheetId outputs: followupText, reminderId
1
read-followup
$sourceDescriptions.googleSheetsApi.getValues
Read the follow-up value from the Google Sheet.
2
set-reminder
$sourceDescriptions.slackRemindersApi.postRemindersAdd
Create a Slack reminder from the follow-up value.

Source API Descriptions

Arazzo Workflow Specification

prod-reminder-from-sheet-row-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Google Sheets Row to Slack Reminder
  summary: Read a Google Sheet row, then set a Slack reminder from it.
  description: >-
    A productivity and internal-ops workflow that reads a follow-up item from a
    Google Sheet and sets a Slack reminder so the work is not forgotten.
    Demonstrates chaining a spreadsheet provider and a messaging provider in a
    single Arazzo workflow.
  version: 1.0.0
sourceDescriptions:
  - name: googleSheetsApi
    url: https://raw.githubusercontent.com/api-evangelist/google-sheets/refs/heads/main/openapi/google-sheets-openapi.yml
    type: openapi
  - name: slackRemindersApi
    url: https://raw.githubusercontent.com/api-evangelist/slack/refs/heads/main/openapi/slack-reminders-openapi.yml
    type: openapi
workflows:
  - workflowId: sheet-row-to-reminder
    summary: Read a Google Sheet value, then create a Slack reminder.
    description: >-
      Reads a follow-up value from a Google Sheet range and creates a Slack
      reminder using that text.
    inputs:
      type: object
      properties:
        spreadsheetId:
          type: string
        range:
          type: string
        remindWhen:
          type: string
    steps:
      - stepId: read-followup
        description: Read the follow-up value from the Google Sheet.
        operationId: $sourceDescriptions.googleSheetsApi.getValues
        parameters:
          - name: spreadsheetId
            in: path
            value: $inputs.spreadsheetId
          - name: range
            in: path
            value: $inputs.range
        successCriteria:
          - condition: $statusCode == 200
        outputs:
          followupText: $response.body#/values/0/0
      - stepId: set-reminder
        description: Create a Slack reminder from the follow-up value.
        operationId: $sourceDescriptions.slackRemindersApi.postRemindersAdd
        requestBody:
          contentType: application/json
          payload:
            text: $steps.read-followup.outputs.followupText
            time: $inputs.remindWhen
        successCriteria:
          - condition: $statusCode == 200
        outputs:
          reminderId: $response.body#/reminder/id
    outputs:
      followupText: $steps.read-followup.outputs.followupText
      reminderId: $steps.set-reminder.outputs.reminderId