SendGrid · Arazzo Workflow

SendGrid Template Version Activate

Version 1.0.0

Create a template, add a version, activate that version, and read the template back.

1 workflow 1 source API 1 provider
View Spec View on GitHub EmailEmail APIMarketing EmailSMTPT1Transactional EmailArazzoWorkflows

Provider

sendgrid

Workflows

template-version-activate
Create a template and version, activate it, and confirm.
Creates a template, adds a version, activates the version, and reads the template back to confirm the active version.
4 steps inputs: apiKey, htmlContent, subject, templateName, versionName outputs: active, templateId, versionId
1
createTemplate
CreateTemplate
Create a new dynamic transactional template.
2
createVersion
CreateTemplateVersion
Add a version carrying the subject and HTML content.
3
activateVersion
ActivateTemplateVersion
Activate the new version so it becomes the version used when the template is sent.
4
getTemplate
GetTemplate
Read the template back to confirm the active version.

Source API Descriptions

Arazzo Workflow Specification

sendgrid-template-version-activate-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: SendGrid Template Version Activate
  summary: Create a template, add a version, activate that version, and read the template back.
  description: >-
    Manages the lifecycle of a transactional template version. The workflow
    creates a template, adds a new version with subject and HTML content,
    explicitly activates that version so it becomes the one used when the
    template is sent, and finally reads the template back to confirm the active
    version. Creates return 201 while the activate and read calls return 200.
    Every step inlines its request and bearer token so the flow can be read and
    run without the OpenAPI files.
  version: 1.0.0
sourceDescriptions:
- name: templatesApi
  url: ../openapi/tsg_templates_v3.yaml
  type: openapi
workflows:
- workflowId: template-version-activate
  summary: Create a template and version, activate it, and confirm.
  description: >-
    Creates a template, adds a version, activates the version, and reads the
    template back to confirm the active version.
  inputs:
    type: object
    required:
    - apiKey
    - templateName
    - versionName
    - subject
    - htmlContent
    properties:
      apiKey:
        type: string
        description: SendGrid API key sent as a bearer token.
      templateName:
        type: string
        description: The name for the new template.
      versionName:
        type: string
        description: The name for the template version.
      subject:
        type: string
        description: The subject line for the template version.
      htmlContent:
        type: string
        description: The HTML content for the template version.
  steps:
  - stepId: createTemplate
    description: Create a new dynamic transactional template.
    operationId: CreateTemplate
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.apiKey"
    requestBody:
      contentType: application/json
      payload:
        name: $inputs.templateName
        generation: dynamic
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      templateId: $response.body#/id
  - stepId: createVersion
    description: Add a version carrying the subject and HTML content.
    operationId: CreateTemplateVersion
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.apiKey"
    - name: template_id
      in: path
      value: $steps.createTemplate.outputs.templateId
    requestBody:
      contentType: application/json
      payload:
        name: $inputs.versionName
        subject: $inputs.subject
        html_content: $inputs.htmlContent
        generate_plain_content: true
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      versionId: $response.body#/id
  - stepId: activateVersion
    description: >-
      Activate the new version so it becomes the version used when the template
      is sent.
    operationId: ActivateTemplateVersion
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.apiKey"
    - name: template_id
      in: path
      value: $steps.createTemplate.outputs.templateId
    - name: version_id
      in: path
      value: $steps.createVersion.outputs.versionId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      active: $response.body#/active
  - stepId: getTemplate
    description: Read the template back to confirm the active version.
    operationId: GetTemplate
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.apiKey"
    - name: template_id
      in: path
      value: $steps.createTemplate.outputs.templateId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      templateId: $response.body#/id
  outputs:
    templateId: $steps.createTemplate.outputs.templateId
    versionId: $steps.createVersion.outputs.versionId
    active: $steps.activateVersion.outputs.active