Amazon Pinpoint · Arazzo Workflow

Amazon Pinpoint Provision Project with Settings

Version 1.0.0

Create a project then apply its default campaign limits and quiet time settings.

1 workflow 1 source API 1 provider
View Spec View on GitHub CampaignsCommunicationsEmailMarketingMessagingPush NotificationsSMSVoiceCustomer EngagementSegmentationJourneysAnalyticsArazzoWorkflows

Provider

amazon-pinpoint

Workflows

provision-project-with-settings
Create a project and apply default settings to it.
Creates an application, then updates the application settings to set default limits, quiet time, and CloudWatch metrics for the project.
2 steps inputs: cloudWatchMetricsEnabled, limits, projectName, quietTime outputs: applicationId
1
createApp
CreateApp
Create the application that the settings will be applied to.
2
updateSettings
UpdateApplicationSettings
Apply the default campaign limits, quiet time, and CloudWatch metrics setting to the newly created application.

Source API Descriptions

Arazzo Workflow Specification

amazon-pinpoint-provision-project-with-settings-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Amazon Pinpoint Provision Project with Settings
  summary: Create a project then apply its default campaign limits and quiet time settings.
  description: >-
    Provisions a new Pinpoint application and immediately applies account-wide
    defaults to it — the default campaign sending limits, quiet time window, and
    CloudWatch metrics toggle — so every campaign and journey in the project
    inherits sensible defaults. Each 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: pinpointApi
  url: ../openapi/amazon-pinpoint-openapi-original.yaml
  type: openapi
workflows:
- workflowId: provision-project-with-settings
  summary: Create a project and apply default settings to it.
  description: >-
    Creates an application, then updates the application settings to set default
    limits, quiet time, and CloudWatch metrics for the project.
  inputs:
    type: object
    required:
    - projectName
    - limits
    - quietTime
    properties:
      projectName:
        type: string
        description: The display name of the application to create.
      limits:
        type: object
        description: The default CampaignLimits for campaigns in the application.
      quietTime:
        type: object
        description: The default QuietTime window for the application.
      cloudWatchMetricsEnabled:
        type: boolean
        description: Whether to enable application-related alarms in CloudWatch.
        default: true
  steps:
  - stepId: createApp
    description: Create the application that the settings will be applied to.
    operationId: CreateApp
    requestBody:
      contentType: application/json
      payload:
        CreateApplicationRequest:
          Name: $inputs.projectName
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      applicationId: $response.body#/ApplicationResponse/Id
  - stepId: updateSettings
    description: >-
      Apply the default campaign limits, quiet time, and CloudWatch metrics
      setting to the newly created application.
    operationId: UpdateApplicationSettings
    parameters:
    - name: application-id
      in: path
      value: $steps.createApp.outputs.applicationId
    requestBody:
      contentType: application/json
      payload:
        WriteApplicationSettingsRequest:
          Limits: $inputs.limits
          QuietTime: $inputs.quietTime
          CloudWatchMetricsEnabled: $inputs.cloudWatchMetricsEnabled
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      settingsApplicationId: $response.body#/ApplicationSettingsResource/ApplicationId
  outputs:
    applicationId: $steps.createApp.outputs.applicationId