HubSpot · Arazzo Workflow

HubSpot Log a Meeting on a Deal

Version 1.0.0

Create a meeting engagement and associate it to a deal.

1 workflow 1 source API 1 provider
View Spec View on GitHub AnalyticsCommerceContentCRMCustomer ServiceEmail MarketingMarketingMarketing AutomationOperationsSalesArazzoWorkflows

Provider

hubspot

Workflows

log-meeting-on-deal
Create a meeting engagement and associate it to a deal.
Creates a meeting engagement with the supplied properties, then associates the new meeting to the target deal and reads the meeting back to confirm it persisted.
3 steps inputs: associationType, dealId, hsMeetingBody, hsMeetingEndTime, hsMeetingStartTime, hsMeetingTitle outputs: createdAt, meetingId
1
createMeeting
createMeeting
Create the meeting engagement with the supplied title, body, and start and end times.
2
associateToDeal
createMeetingAssociation
Associate the newly created meeting to the target deal so it appears on the deal timeline.
3
confirmMeeting
getMeeting
Read the created meeting back by id to confirm the engagement persisted.

Source API Descriptions

Arazzo Workflow Specification

hubspot-log-meeting-on-deal-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: HubSpot Log a Meeting on a Deal
  summary: Create a meeting engagement and associate it to a deal.
  description: >-
    A pipeline activity-logging pattern. The workflow creates a meeting
    engagement in the HubSpot CRM with the supplied meeting properties — title,
    body, start and end times — and then attaches that meeting to a deal through
    the meeting association endpoint so the meeting surfaces on the deal record.
    Every 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: hubspotEngagementMeetingsApi
  url: ../openapi/hubspot-engagement-meetings-api-openapi.yml
  type: openapi
workflows:
- workflowId: log-meeting-on-deal
  summary: Create a meeting engagement and associate it to a deal.
  description: >-
    Creates a meeting engagement with the supplied properties, then associates
    the new meeting to the target deal and reads the meeting back to confirm it
    persisted.
  inputs:
    type: object
    required:
    - hsMeetingTitle
    - hsMeetingStartTime
    - dealId
    properties:
      hsMeetingTitle:
        type: string
        description: The title of the meeting (hs_meeting_title).
      hsMeetingBody:
        type: string
        description: Notes or agenda for the meeting (hs_meeting_body).
      hsMeetingStartTime:
        type: string
        description: ISO 8601 meeting start time (hs_meeting_start_time).
      hsMeetingEndTime:
        type: string
        description: ISO 8601 meeting end time (hs_meeting_end_time).
      dealId:
        type: string
        description: The ID of the deal to associate the meeting with.
      associationType:
        type: string
        description: The association type id linking the meeting to the deal.
        default: "212"
  steps:
  - stepId: createMeeting
    description: >-
      Create the meeting engagement with the supplied title, body, and start and
      end times.
    operationId: createMeeting
    requestBody:
      contentType: application/json
      payload:
        properties:
          hs_meeting_title: $inputs.hsMeetingTitle
          hs_meeting_body: $inputs.hsMeetingBody
          hs_meeting_start_time: $inputs.hsMeetingStartTime
          hs_meeting_end_time: $inputs.hsMeetingEndTime
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      meetingId: $response.body#/id
      createdAt: $response.body#/createdAt
  - stepId: associateToDeal
    description: >-
      Associate the newly created meeting to the target deal so it appears on
      the deal timeline.
    operationId: createMeetingAssociation
    parameters:
    - name: meetingId
      in: path
      value: $steps.createMeeting.outputs.meetingId
    - name: toObjectType
      in: path
      value: deals
    - name: toObjectId
      in: path
      value: $inputs.dealId
    - name: associationType
      in: path
      value: $inputs.associationType
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      association: $response.body
  - stepId: confirmMeeting
    description: >-
      Read the created meeting back by id to confirm the engagement persisted.
    operationId: getMeeting
    parameters:
    - name: meetingId
      in: path
      value: $steps.createMeeting.outputs.meetingId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      meetingId: $response.body#/id
      properties: $response.body#/properties
  outputs:
    meetingId: $steps.createMeeting.outputs.meetingId
    createdAt: $steps.createMeeting.outputs.createdAt