Amazon Pinpoint · Arazzo Workflow

Amazon Pinpoint Message User Across Endpoints

Version 1.0.0

Look up all endpoints for a user then send them a message across every channel.

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

Provider

amazon-pinpoint

Workflows

message-user-across-endpoints
Resolve a user's endpoints then send a cross-channel message to the user.
Reads all endpoints for a user id, and if any exist, sends a user-targeted message that Pinpoint delivers across the user's endpoints.
2 steps inputs: applicationId, messageConfiguration, userId, users outputs: requestId
1
getUserEndpoints
Retrieve all endpoints registered for the user id so the flow can confirm the user is reachable before sending.
2
sendUsersMessage
Send a message targeted at the user id; Pinpoint delivers it across all of the user's endpoints.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Amazon Pinpoint Message User Across Endpoints
  summary: Look up all endpoints for a user then send them a message across every channel.
  description: >-
    Retrieves every endpoint registered for a single user id — they may span SMS,
    email, and push channels — and then sends a message to that user, letting
    Pinpoint fan the message out across all of the user's endpoints. The flow
    branches to stop early when the user has no endpoints to message. 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: appsApi
  url: ../openapi/amazon-pinpoint-apps-api-openapi.yml
  type: openapi
workflows:
- workflowId: message-user-across-endpoints
  summary: Resolve a user's endpoints then send a cross-channel message to the user.
  description: >-
    Reads all endpoints for a user id, and if any exist, sends a user-targeted
    message that Pinpoint delivers across the user's endpoints.
  inputs:
    type: object
    required:
    - applicationId
    - userId
    - messageConfiguration
    properties:
      applicationId:
        type: string
        description: The application that owns the user's endpoints.
      userId:
        type: string
        description: The user id whose endpoints should be resolved and messaged.
      messageConfiguration:
        type: object
        description: The DirectMessageConfiguration describing the message to send.
      users:
        type: object
        description: >-
          The Users map keyed by the user id, each value an
          EndpointSendConfiguration. Supplied as a whole object because the map
          key is the dynamic user id, which cannot be templated as a literal map
          key in this request body.
  steps:
  - stepId: getUserEndpoints
    description: >-
      Retrieve all endpoints registered for the user id so the flow can confirm
      the user is reachable before sending.
    operationId: GetUserEndpoints
    parameters:
    - name: application-id
      in: path
      value: $inputs.applicationId
    - name: user-id
      in: path
      value: $inputs.userId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      endpoints: $response.body#/EndpointsResponse/Item
    onSuccess:
    - name: hasEndpoints
      type: goto
      stepId: sendUsersMessage
      criteria:
      - context: $response.body
        condition: $.EndpointsResponse.Item.length > 0
        type: jsonpath
    - name: noEndpoints
      type: end
      criteria:
      - context: $response.body
        condition: $.EndpointsResponse.Item.length == 0
        type: jsonpath
  - stepId: sendUsersMessage
    description: >-
      Send a message targeted at the user id; Pinpoint delivers it across all of
      the user's endpoints.
    operationId: SendUsersMessages
    parameters:
    - name: application-id
      in: path
      value: $inputs.applicationId
    requestBody:
      contentType: application/json
      payload:
        SendUsersMessageRequest:
          MessageConfiguration: $inputs.messageConfiguration
          Users: $inputs.users
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      requestId: $response.body#/SendUsersMessageResponse/RequestId
  outputs:
    requestId: $steps.sendUsersMessage.outputs.requestId

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/amazon-pinpoint-message-user-across-endpoints-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.