Unified.to · Arazzo Workflow

Unified.to CRM Contact Lifecycle

Version 1.0.0

Create a CRM contact on a connection, retrieve it, then confirm it appears in the contact list.

1 workflow 1 source API 1 provider
View Spec View on GitHub IntegrationsUnified APIArazzoWorkflows

Provider

unified-to

Workflows

crm-contact-lifecycle
Create, retrieve, and search a CRM contact on a single connection.
Creates a contact for the supplied connection, fetches the created record by id, and then queries the contact list by name to confirm the contact is discoverable.
3 steps inputs: connectionId, email, firstName, lastName outputs: contactId, contactName, matchedContactId
1
createContact
createCrmContact
Create a new contact on the connection using the supplied name and email. The email is written as a single WORK address in the emails array.
2
getContact
getCrmContact
Read the newly created contact back by its id to confirm the write succeeded and to capture the canonical record.
3
findContact
listCrmContacts
Search the connection's contacts by the supplied email to confirm the new contact is discoverable through the list endpoint.

Source API Descriptions

Arazzo Workflow Specification

unified-to-crm-contact-lifecycle-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Unified.to CRM Contact Lifecycle
  summary: Create a CRM contact on a connection, retrieve it, then confirm it appears in the contact list.
  description: >-
    A foundational CRM integration pattern against the Unified.to unified CRM
    API. The workflow creates a new contact on a specific connection, reads the
    created contact back by its id to confirm the write landed, and then lists
    contacts filtered to the same person to verify it is searchable. Every step
    spells out its request inline — including the required connection_id path
    parameter — so the flow can be read and executed without opening the
    underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: crmApi
  url: ../openapi/unified-to-crm-openapi.yaml
  type: openapi
workflows:
- workflowId: crm-contact-lifecycle
  summary: Create, retrieve, and search a CRM contact on a single connection.
  description: >-
    Creates a contact for the supplied connection, fetches the created record by
    id, and then queries the contact list by name to confirm the contact is
    discoverable.
  inputs:
    type: object
    required:
    - connectionId
    - firstName
    - lastName
    - email
    properties:
      connectionId:
        type: string
        description: The Unified.to connection id for the target CRM (e.g. a HubSpot or Salesforce connection).
      firstName:
        type: string
        description: The contact's first name.
      lastName:
        type: string
        description: The contact's last name.
      email:
        type: string
        description: The contact's primary work email address.
  steps:
  - stepId: createContact
    description: >-
      Create a new contact on the connection using the supplied name and email.
      The email is written as a single WORK address in the emails array.
    operationId: createCrmContact
    parameters:
    - name: connection_id
      in: path
      value: $inputs.connectionId
    requestBody:
      contentType: application/json
      payload:
        first_name: $inputs.firstName
        last_name: $inputs.lastName
        emails:
        - email: $inputs.email
          type: WORK
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      contactId: $response.body#/id
  - stepId: getContact
    description: >-
      Read the newly created contact back by its id to confirm the write
      succeeded and to capture the canonical record.
    operationId: getCrmContact
    parameters:
    - name: connection_id
      in: path
      value: $inputs.connectionId
    - name: id
      in: path
      value: $steps.createContact.outputs.contactId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      contactName: $response.body#/name
      contactEmails: $response.body#/emails
  - stepId: findContact
    description: >-
      Search the connection's contacts by the supplied email to confirm the new
      contact is discoverable through the list endpoint.
    operationId: listCrmContacts
    parameters:
    - name: connection_id
      in: path
      value: $inputs.connectionId
    - name: query
      in: query
      value: $inputs.email
    - name: limit
      in: query
      value: 10
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      matchedContactId: $response.body#/0/id
  outputs:
    contactId: $steps.createContact.outputs.contactId
    contactName: $steps.getContact.outputs.contactName
    matchedContactId: $steps.findContact.outputs.matchedContactId