diff --git a/resources/Create a contact list or a contact in HubSpot Marketing when a new form entry is created in Wufoo.yaml b/resources/Create a contact list or a contact in HubSpot Marketing when a new form entry is created in Wufoo.yaml new file mode 100644 index 000000000..7db46b391 --- /dev/null +++ b/resources/Create a contact list or a contact in HubSpot Marketing when a new form entry is created in Wufoo.yaml @@ -0,0 +1,223 @@ +$integration: http://ibm.com/appconnect/integration/v2/integrationFile +integration: + type: trigger-action + trigger-interfaces: + trigger-interface-1: + connector-type: wufoo + type: event-trigger + triggers: + CREATED: + input-context: + data: FormEntry + assembly: + $ref: '#/integration/assemblies/assembly-1' + options: + Hash: p11ni0rf0aqmhy6 + parentFilter: + Hash: p11ni0rf0aqmhy6 + action-interfaces: + action-interface-1: + type: api-action + business-object: getContactsV1Lists_model + connector-type: hubspotmarketing + actions: + RETRIEVEALL: {} + action-interface-2: + type: api-action + business-object: postCrmV3ObjectsContacts_model + connector-type: hubspotmarketing + actions: + postCrmV3ObjectsContacts: {} + action-interface-3: + type: api-action + business-object: postContactsV1Lists_model + connector-type: hubspotmarketing + actions: + postContactsV1Lists: {} + action-interface-4: + type: api-action + business-object: mail + connector-type: gmail + actions: + CREATE: {} + assemblies: + assembly-1: + assembly: + execute: + - retrieve-action: + name: HubSpot Marketing Retrieve contact lists + target: + $ref: '#/integration/action-interfaces/action-interface-1' + filter: + limit: 10 + allow-truncation: true + pagination-type: TOKEN + allow-empty-output: true + - if: + name: If + input: + - variable: Trigger + $ref: '#/trigger/payload' + - variable: GmailSendemail + $ref: '#/node-output/Gmail Send email/response/payload' + - variable: HubSpotMarketingRetrievecontactlists + $ref: >- + #/node-output/HubSpot Marketing Retrieve contact + lists/response/payload + - variable: HubSpotMarketingRetrievecontactlistsMetadata + $ref: >- + #/node-output/HubSpot Marketing Retrieve contact + lists/response + - variable: flowDetails + $ref: '#/flowDetails' + branch: + - condition: + '{{$Trigger.Field13 in $HubSpotMarketingRetrievecontactlists .Name}}': + '=': 'true' + execute: [] + else: + execute: + - custom-action: + name: HubSpot Marketing Create contact list + target: + $ref: '#/integration/action-interfaces/action-interface-3' + action: postContactsV1Lists + map: + mappings: + - dynamic: + expression: 'true' + - filters: + mappings: + - Group1: + foreach: + input: '[0]' + iterator: Group1Item + mappings: + - ___type: + template: string + - operator: + template: EQ + - property: + template: gender + - value: + template: F + - Group2: + foreach: + input: '[0]' + iterator: Group2Item + mappings: + - ___type: + template: string + - operator: + template: CONTAINS + - property: + template: message + - value: + template: Women's Leadership + - name: + template: '{{$Trigger.Field13}}' + $map: http://ibm.com/appconnect/map/v1 + input: + - variable: Trigger + $ref: '#/trigger/payload' + - variable: GmailSendemail + $ref: '#/node-output/Gmail Send email/response/payload' + - variable: HubSpotMarketingRetrievecontactlists + $ref: >- + #/node-output/HubSpot Marketing Retrieve contact + lists/response/payload + - variable: HubSpotMarketingRetrievecontactlistsMetadata + $ref: >- + #/node-output/HubSpot Marketing Retrieve contact + lists/response + - variable: flowDetails + $ref: '#/flowDetails' + output-schema: {} + - if: + name: If 2 + input: + - variable: Trigger + $ref: '#/trigger/payload' + - variable: GmailSendemail + $ref: '#/node-output/Gmail Send email/response/payload' + - variable: HubSpotMarketingRetrievecontactlists + $ref: >- + #/node-output/HubSpot Marketing Retrieve contact + lists/response/payload + - variable: HubSpotMarketingRetrievecontactlistsMetadata + $ref: >- + #/node-output/HubSpot Marketing Retrieve contact + lists/response + - variable: flowDetails + $ref: '#/flowDetails' + branch: + - condition: + '{{$Trigger.Field17}}': + neq: F + execute: + - create-action: + name: Gmail Send email 2 + target: + $ref: '#/integration/action-interfaces/action-interface-4' + map: + mappings: + - Body: + template: Event is only for Women + - Subject: + template: Message + - To: + template: '{{$Trigger.Field8}}' + $map: http://ibm.com/appconnect/map/v1 + input: + - variable: Trigger + $ref: '#/trigger/payload' + - variable: GmailSendemail + $ref: '#/node-output/Gmail Send email/response/payload' + - variable: HubSpotMarketingRetrievecontactlists + $ref: >- + #/node-output/HubSpot Marketing Retrieve contact + lists/response/payload + - variable: HubSpotMarketingRetrievecontactlistsMetadata + $ref: >- + #/node-output/HubSpot Marketing Retrieve contact + lists/response + - variable: flowDetails + $ref: '#/flowDetails' + else: + execute: + - custom-action: + name: HubSpot Marketing Create contact + target: + $ref: '#/integration/action-interfaces/action-interface-2' + action: postCrmV3ObjectsContacts + map: + mappings: + - email: + template: '{{$Trigger.Field8}}' + - firstname: + template: '{{$Trigger.Field1}}' + - gender: + template: '{{$Trigger.Field17}}' + - lastname: + template: '{{$Trigger.Field2}}' + - message: + template: 'Women''s Leadership ' + $map: http://ibm.com/appconnect/map/v1 + input: + - variable: Trigger + $ref: '#/trigger/payload' + - variable: GmailSendemail + $ref: '#/node-output/Gmail Send email/response/payload' + - variable: HubSpotMarketingRetrievecontactlists + $ref: >- + #/node-output/HubSpot Marketing Retrieve contact + lists/response/payload + - variable: HubSpotMarketingRetrievecontactlistsMetadata + $ref: >- + #/node-output/HubSpot Marketing Retrieve contact + lists/response + - variable: flowDetails + $ref: '#/flowDetails' + output-schema: {} + name: Create a contact list or a contact in HubSpot Marketing when a new form entry is created in Wufoo +models: {} diff --git a/resources/Create a marketing event in HubSpot Marketing and send event details through Gmail for each Eventbrite event.yaml b/resources/Create a marketing event in HubSpot Marketing and send event details through Gmail for each Eventbrite event.yaml new file mode 100644 index 000000000..b17ac9dba --- /dev/null +++ b/resources/Create a marketing event in HubSpot Marketing and send event details through Gmail for each Eventbrite event.yaml @@ -0,0 +1,194 @@ +$integration: http://ibm.com/appconnect/integration/v2/integrationFile +integration: + type: trigger-action + trigger-interfaces: + trigger-interface-1: + type: event-trigger + triggers: + SCHEDULE: + input-context: + data: scheduler + assembly: + $ref: '#/integration/assemblies/assembly-1' + options: + subscription: + scheduleConfiguration: + interval: + unit: hour + value: 1 + runOnceOncheck: true + days: + - MON + - TUE + - WED + - THU + - FRI + - SAT + - SUN + timeZone: UTC + connector-type: streaming-connector-scheduler + action-interfaces: + action-interface-1: + type: api-action + business-object: postMarketingV3MarketingEventsEvents_model + connector-type: hubspotmarketing + actions: + postMarketingV3MarketingEventsEvents: {} + action-interface-3: + type: api-action + business-object: Event + connector-type: eventbrite + actions: + RETRIEVEALL: {} + action-interface-2: + type: api-action + business-object: mail + connector-type: gmail + actions: + CREATE: {} + assemblies: + assembly-1: + assembly: + execute: + - retrieve-action: + name: Eventbrite Retrieve events + target: + $ref: '#/integration/action-interfaces/action-interface-3' + filter: + where: + and: + - organizer_id: '44787441763' + - organizationID: '344797520005' + input: + - variable: Trigger + $ref: '#/trigger/payload' + - variable: flowDetails + $ref: '#/flowDetails' + limit: 100 + allow-truncation: true + pagination-type: SKIP_LIMIT + allow-empty-output: true + - for-each: + name: For each 2 + assembly: + $ref: '#/integration/assemblies/assembly-3' + source: + expression: '$EventbriteRetrieveevents ' + input: + - variable: Trigger + $ref: '#/trigger/payload' + - variable: EventbriteRetrieveevents + $ref: '#/node-output/Eventbrite Retrieve events/response/payload' + - variable: EventbriteRetrieveeventsMetadata + $ref: '#/node-output/Eventbrite Retrieve events/response' + - variable: flowDetails + $ref: '#/flowDetails' + mode: sequential + continue-on-error: true + map: + $map: http://ibm.com/appconnect/map/v1 + mappings: [] + display-name: Eventbrite Event + assembly-3: + assembly: + execute: + - if: + name: If + input: + - variable: Foreach2item + $ref: '#/block/For each 2/current-item' + - variable: Trigger + $ref: '#/trigger/payload' + - variable: GmailSendemail2 + $ref: >- + #/block/For each 2/node-output/Gmail Send email + 2/response/payload + - variable: EventbriteRetrieveevents + $ref: '#/node-output/Eventbrite Retrieve events/response/payload' + - variable: EventbriteRetrieveeventsMetadata + $ref: '#/node-output/Eventbrite Retrieve events/response' + - variable: flowDetails + $ref: '#/flowDetails' + branch: + - condition: + '{{$Foreach2item.created}}': + gt: '{{$Trigger.lastEventTime}}' + execute: + - custom-action: + name: HubSpot Marketing Create marketing event + target: + $ref: '#/integration/action-interfaces/action-interface-1' + action: postMarketingV3MarketingEventsEvents + map: + mappings: + - endDateTime: + template: '{{$Foreach2item.end.utc}}' + - eventName: + template: '{{$Foreach2item.name.html}}' + - eventOrganizer: + template: trying + - eventType: + template: WEBINAR + - externalAccountId: + template: '{{$Foreach2item.organizer_id}}' + - externalEventId: + template: '{{$Foreach2item.id}}_Eventbrite' + - startDateTime: + template: '{{$Foreach2item.start.utc}}' + $map: http://ibm.com/appconnect/map/v1 + input: + - variable: Foreach2item + $ref: '#/block/For each 2/current-item' + - variable: Trigger + $ref: '#/trigger/payload' + - variable: GmailSendemail2 + $ref: >- + #/block/For each 2/node-output/Gmail Send email + 2/response/payload + - variable: EventbriteRetrieveevents + $ref: >- + #/node-output/Eventbrite Retrieve + events/response/payload + - variable: EventbriteRetrieveeventsMetadata + $ref: >- + #/node-output/Eventbrite Retrieve + events/response + - variable: flowDetails + $ref: '#/flowDetails' + - create-action: + name: Gmail Send email + target: + $ref: '#/integration/action-interfaces/action-interface-2' + map: + mappings: + - Body: + template: '{{$HubSpotMarketingCreatemarketingevent}}' + - Subject: + template: '{{$Trigger.lastEventTime}}' + - To: + template: user1@email.com + $map: http://ibm.com/appconnect/map/v1 + input: + - variable: Foreach2item + $ref: '#/block/For each 2/current-item' + - variable: Trigger + $ref: '#/trigger/payload' + - variable: HubSpotMarketingCreatemarketingevent + $ref: >- + #/block/If/node-output/HubSpot Marketing Create + marketing event/response/payload + - variable: EventbriteRetrieveevents + $ref: >- + #/node-output/Eventbrite Retrieve + events/response/payload + - variable: EventbriteRetrieveeventsMetadata + $ref: >- + #/node-output/Eventbrite Retrieve + events/response + - variable: flowDetails + $ref: '#/flowDetails' + else: + execute: [] + output-schema: {} + name: Create a marketing event in HubSpot Marketing and send event details through Gmail for each Eventbrite event +models: {} diff --git a/resources/Record event attendance for each Eventbrite attendee by syncing Eventbrite events with HubSpot Marketing events.yaml b/resources/Record event attendance for each Eventbrite attendee by syncing Eventbrite events with HubSpot Marketing events.yaml new file mode 100644 index 000000000..e65be99ab --- /dev/null +++ b/resources/Record event attendance for each Eventbrite attendee by syncing Eventbrite events with HubSpot Marketing events.yaml @@ -0,0 +1,372 @@ +$integration: http://ibm.com/appconnect/integration/v2/integrationFile +integration: + type: trigger-action + trigger-interfaces: + trigger-interface-1: + connector-type: streaming-connector-scheduler + type: event-trigger + triggers: + SCHEDULE: + input-context: + data: scheduler + assembly: + $ref: '#/integration/assemblies/assembly-1' + options: + subscription: + scheduleConfiguration: + interval: + unit: hour + value: 1 + runOnceOncheck: true + days: + - MON + - TUE + - WED + - THU + - FRI + - SAT + - SUN + timeZone: UTC + action-interfaces: + action-interface-3: + type: api-action + business-object: >- + postMarketingV3MarketingEventsAttendanceByExternalEventIdBySubscriberStateEmailCreate_model + connector-type: hubspotmarketing + actions: + postMarketingV3MarketingEventsAttendanceByExternalEventIdBySubscriberStateEmailCreate: {} + action-interface-4: + type: api-action + business-object: Attendee + connector-type: eventbrite + actions: + RETRIEVEALL: {} + action-interface-1: + type: api-action + business-object: getMarketingV3MarketingEventsEventsSearch_model + connector-type: hubspotmarketing + actions: + RETRIEVEALL: {} + action-interface-2: + type: api-action + business-object: getMarketingV3MarketingEventsEventsByExternalEventId_model + connector-type: hubspotmarketing + actions: + getMarketingV3MarketingEventsEventsByExternalEventId: {} + action-interface-6: + type: api-action + business-object: mail + connector-type: gmail + actions: + CREATE: {} + assemblies: + assembly-1: + assembly: + execute: + - retrieve-action: + name: HubSpot Marketing Retrieve marketing events by search string + target: + $ref: '#/integration/action-interfaces/action-interface-1' + filter: + where: + q: '*_Eventbrite' + input: + - variable: Trigger + $ref: '#/trigger/payload' + - variable: flowDetails + $ref: '#/flowDetails' + limit: 10 + allow-truncation: false + allow-empty-output: false + - for-each: + name: For each 2 + assembly: + $ref: '#/integration/assemblies/assembly-3' + source: + expression: '$HubSpotMarketingRetrievemarketingeventsbysearchstring ' + input: + - variable: Trigger + $ref: '#/trigger/payload' + - variable: HubSpotMarketingRetrievemarketingeventsbysearchstring + $ref: >- + #/node-output/HubSpot Marketing Retrieve marketing events + by search string/response/payload + - variable: >- + HubSpotMarketingRetrievemarketingeventsbysearchstringMetadata + $ref: >- + #/node-output/HubSpot Marketing Retrieve marketing events + by search string/response + - variable: flowDetails + $ref: '#/flowDetails' + mode: sequential + continue-on-error: true + map: + $map: http://ibm.com/appconnect/map/v1 + mappings: [] + display-name: HubSpot Marketing Marketing Events + assembly-2: + assembly: + execute: + - custom-action: + name: HubSpot Marketing Record event attendance + target: + $ref: '#/integration/action-interfaces/action-interface-3' + action: >- + postMarketingV3MarketingEventsAttendanceByExternalEventIdBySubscriberStateEmailCreate + map: + mappings: + - email: + template: '{{$Foreachitem.profile.email}}' + - interactionDateTime: + template: '{{$Foreachitem.created}}' + $map: http://ibm.com/appconnect/map/v1 + input: + - variable: Foreachitem + $ref: '#/block/For each/current-item' + - variable: Foreach2item + $ref: '#/block/For each 2/current-item' + - variable: Trigger + $ref: '#/trigger/payload' + - variable: EventbriteRetrieveattendees + $ref: >- + #/block/If/node-output/Eventbrite Retrieve + attendees/response/payload + - variable: EventbriteRetrieveattendeesMetadata + $ref: >- + #/block/If/node-output/Eventbrite Retrieve + attendees/response + - variable: HubSpotMarketingRetrievemarketingeventbyID + $ref: >- + #/block/For each 2/node-output/HubSpot Marketing Retrieve + marketing event by ID/response/payload + - variable: GmailSendemail + $ref: >- + #/block/For each 2/node-output/Gmail Send + email/response/payload + - variable: HubSpotMarketingRetrievemarketingeventsbysearchstring + $ref: >- + #/node-output/HubSpot Marketing Retrieve marketing events + by search string/response/payload + - variable: >- + HubSpotMarketingRetrievemarketingeventsbysearchstringMetadata + $ref: >- + #/node-output/HubSpot Marketing Retrieve marketing events + by search string/response + - variable: flowDetails + $ref: '#/flowDetails' + filter: + where: + and: + - externalAccountId: '{{$Foreach2item.externalAccountId}}' + - externalEventId: '{{$Foreach2item.externalEventId}}' + - subscriberState: attend + input: + - variable: Foreachitem + $ref: '#/block/For each/current-item' + - variable: Foreach2item + $ref: '#/block/For each 2/current-item' + - variable: Trigger + $ref: '#/trigger/payload' + - variable: EventbriteRetrieveattendees + $ref: >- + #/block/If/node-output/Eventbrite Retrieve + attendees/response/payload + - variable: EventbriteRetrieveattendeesMetadata + $ref: >- + #/block/If/node-output/Eventbrite Retrieve + attendees/response + - variable: HubSpotMarketingRetrievemarketingeventbyID + $ref: >- + #/block/For each 2/node-output/HubSpot Marketing Retrieve + marketing event by ID/response/payload + - variable: GmailSendemail + $ref: >- + #/block/For each 2/node-output/Gmail Send + email/response/payload + - variable: HubSpotMarketingRetrievemarketingeventsbysearchstring + $ref: >- + #/node-output/HubSpot Marketing Retrieve marketing events + by search string/response/payload + - variable: >- + HubSpotMarketingRetrievemarketingeventsbysearchstringMetadata + $ref: >- + #/node-output/HubSpot Marketing Retrieve marketing events + by search string/response + - variable: flowDetails + $ref: '#/flowDetails' + limit: 10 + - create-action: + name: Gmail Send email 2 + target: + $ref: '#/integration/action-interfaces/action-interface-6' + map: + mappings: + - Body: + template: '{{$Foreachitem.id}}' + - Subject: + template: Attendance recorded + - To: + template: user3@email.com + $map: http://ibm.com/appconnect/map/v1 + input: + - variable: Foreachitem + $ref: '#/block/For each/current-item' + - variable: Foreach2item + $ref: '#/block/For each 2/current-item' + - variable: Trigger + $ref: '#/trigger/payload' + - variable: HubSpotMarketingRecordeventattendance + $ref: >- + #/block/For each/node-output/HubSpot Marketing Record + event attendance/response/payload + - variable: EventbriteRetrieveattendees + $ref: >- + #/block/If/node-output/Eventbrite Retrieve + attendees/response/payload + - variable: EventbriteRetrieveattendeesMetadata + $ref: >- + #/block/If/node-output/Eventbrite Retrieve + attendees/response + - variable: HubSpotMarketingRetrievemarketingeventbyID + $ref: >- + #/block/For each 2/node-output/HubSpot Marketing Retrieve + marketing event by ID/response/payload + - variable: GmailSendemail + $ref: >- + #/block/For each 2/node-output/Gmail Send + email/response/payload + - variable: HubSpotMarketingRetrievemarketingeventsbysearchstring + $ref: >- + #/node-output/HubSpot Marketing Retrieve marketing events + by search string/response/payload + - variable: >- + HubSpotMarketingRetrievemarketingeventsbysearchstringMetadata + $ref: >- + #/node-output/HubSpot Marketing Retrieve marketing events + by search string/response + - variable: flowDetails + $ref: '#/flowDetails' + assembly-3: + assembly: + execute: + - custom-action: + name: HubSpot Marketing Retrieve marketing event by ID + target: + $ref: '#/integration/action-interfaces/action-interface-2' + action: getMarketingV3MarketingEventsEventsByExternalEventId + map: + $map: http://ibm.com/appconnect/map/v1 + input: + - variable: Foreach2item + $ref: '#/block/For each 2/current-item' + - variable: Trigger + $ref: '#/trigger/payload' + - variable: HubSpotMarketingRetrievemarketingeventsbysearchstring + $ref: >- + #/node-output/HubSpot Marketing Retrieve marketing events + by search string/response/payload + - variable: >- + HubSpotMarketingRetrievemarketingeventsbysearchstringMetadata + $ref: >- + #/node-output/HubSpot Marketing Retrieve marketing events + by search string/response + - variable: flowDetails + $ref: '#/flowDetails' + mappings: [] + filter: + where: + and: + - externalAccountId: '{{$Foreach2item.externalAccountId}}' + - externalEventId: '{{$Foreach2item.externalEventId}}' + input: + - variable: Foreach2item + $ref: '#/block/For each 2/current-item' + - variable: Trigger + $ref: '#/trigger/payload' + - variable: HubSpotMarketingRetrievemarketingeventsbysearchstring + $ref: >- + #/node-output/HubSpot Marketing Retrieve marketing events + by search string/response/payload + - variable: >- + HubSpotMarketingRetrievemarketingeventsbysearchstringMetadata + $ref: >- + #/node-output/HubSpot Marketing Retrieve marketing events + by search string/response + - variable: flowDetails + $ref: '#/flowDetails' + limit: 10 + - retrieve-action: + name: Eventbrite Retrieve attendees + target: + $ref: '#/integration/action-interfaces/action-interface-4' + filter: + where: + event_id: >- + {{$substringBefore($HubSpotMarketingRetrievemarketingeventbyID."$_externalEventId" + , "_Eventbrite")}} + input: + - variable: Foreach2item + $ref: '#/block/For each 2/current-item' + - variable: Trigger + $ref: '#/trigger/payload' + - variable: HubSpotMarketingRetrievemarketingeventbyID + $ref: >- + #/block/For each 2/node-output/HubSpot Marketing Retrieve + marketing event by ID/response/payload + - variable: GmailSendemail + $ref: >- + #/block/For each 2/node-output/Gmail Send + email/response/payload + - variable: HubSpotMarketingRetrievemarketingeventsbysearchstring + $ref: >- + #/node-output/HubSpot Marketing Retrieve marketing events + by search string/response/payload + - variable: >- + HubSpotMarketingRetrievemarketingeventsbysearchstringMetadata + $ref: >- + #/node-output/HubSpot Marketing Retrieve marketing events + by search string/response + - variable: flowDetails + $ref: '#/flowDetails' + limit: 10 + allow-truncation: true + pagination-type: SKIP_LIMIT + allow-empty-output: true + - for-each: + name: For each + assembly: + $ref: '#/integration/assemblies/assembly-2' + source: + expression: '$EventbriteRetrieveattendees ' + input: + - variable: Foreach2item + $ref: '#/block/For each 2/current-item' + - variable: Trigger + $ref: '#/trigger/payload' + - variable: EventbriteRetrieveattendees + $ref: >- + #/block/For each 2/node-output/Eventbrite Retrieve + attendees/response/payload + - variable: EventbriteRetrieveattendeesMetadata + $ref: >- + #/block/For each 2/node-output/Eventbrite Retrieve + attendees/response + - variable: HubSpotMarketingRetrieveMarketingeventsbysearchstring + $ref: >- + #/node-output/HubSpot Marketing Retrieve Marketing events + by search string/response/payload + - variable: >- + HubSpotMarketingRetrieveMarketingeventsbysearchstringMetadata + $ref: >- + #/node-output/HubSpot Marketing Retrieve Marketing events + by search string/response + - variable: flowDetails + $ref: '#/flowDetails' + mode: sequential + continue-on-error: true + map: + $map: http://ibm.com/appconnect/map/v1 + mappings: [] + display-name: Eventbrite attendees + name: Record event attendance for each Eventbrite attendee by syncing Eventbrite events with HubSpot Marketing events +models: {} diff --git a/resources/Send a Gmail message to the marketing team for each marketing campaign data retrieved from HubSpot Marketing.yaml b/resources/Send a Gmail message to the marketing team for each marketing campaign data retrieved from HubSpot Marketing.yaml new file mode 100644 index 000000000..4f58a20ea --- /dev/null +++ b/resources/Send a Gmail message to the marketing team for each marketing campaign data retrieved from HubSpot Marketing.yaml @@ -0,0 +1,167 @@ +$integration: http://ibm.com/appconnect/integration/v2/integrationFile +integration: + type: trigger-action + trigger-interfaces: + trigger-interface-1: + connector-type: streaming-connector-scheduler + type: event-trigger + triggers: + SCHEDULE: + input-context: + data: scheduler + assembly: + $ref: '#/integration/assemblies/assembly-1' + options: + subscription: + scheduleConfiguration: + interval: + unit: minute + value: 1 + runOnceOncheck: false + days: + - MON + - TUE + - WED + - THU + - FRI + - SAT + - SUN + timeZone: UTC + action-interfaces: + action-interface-1: + type: api-action + business-object: getEmailPublicV1Campaigns_model + connector-type: hubspotmarketing + actions: + RETRIEVEALL: {} + action-interface-2: + type: api-action + business-object: getEmailPublicV1CampaignsByCampaignsid_model + connector-type: hubspotmarketing + actions: + getEmailPublicV1CampaignsByCampaignsid: {} + action-interface-3: + type: api-action + business-object: mail + connector-type: gmail + actions: + CREATE: {} + assemblies: + assembly-1: + assembly: + execute: + - retrieve-action: + name: HubSpot Marketing Retrieve email campaigns data + target: + $ref: '#/integration/action-interfaces/action-interface-1' + filter: + limit: 10 + allow-truncation: false + pagination-type: TOKEN + allow-empty-output: false + - for-each: + name: For each + assembly: + $ref: '#/integration/assemblies/assembly-2' + source: + expression: '$HubSpotMarketingRetrieveemailcampaignsdata ' + input: + - variable: Trigger + $ref: '#/trigger/payload' + - variable: HubSpotMarketingRetrieveemailcampaignsdata + $ref: >- + #/node-output/HubSpot Marketing Retrieve email campaigns + data/response/payload + - variable: HubSpotMarketingRetrieveemailcampaignsdataMetadata + $ref: >- + #/node-output/HubSpot Marketing Retrieve email campaigns + data/response + - variable: flowDetails + $ref: '#/flowDetails' + mode: sequential + continue-on-error: true + map: + $map: http://ibm.com/appconnect/map/v1 + mappings: [] + display-name: HubSpot Marketing Email Campaigns + assembly-2: + assembly: + execute: + - custom-action: + name: HubSpot Marketing Retrieve email campaigns data by ID + target: + $ref: '#/integration/action-interfaces/action-interface-2' + action: getEmailPublicV1CampaignsByCampaignsid + map: + $map: http://ibm.com/appconnect/map/v1 + input: + - variable: Foreachitem + $ref: '#/block/For each/current-item' + - variable: Trigger + $ref: '#/trigger/payload' + - variable: HubSpotMarketingRetrieveemailcampaignsdata + $ref: >- + #/node-output/HubSpot Marketing Retrieve email campaigns + data/response/payload + - variable: HubSpotMarketingRetrieveemailcampaignsdataMetadata + $ref: >- + #/node-output/HubSpot Marketing Retrieve email campaigns + data/response + - variable: flowDetails + $ref: '#/flowDetails' + mappings: [] + filter: + where: + campaignsid: '{{$Foreachitem.id}}' + input: + - variable: Foreachitem + $ref: '#/block/For each/current-item' + - variable: Trigger + $ref: '#/trigger/payload' + - variable: HubSpotMarketingRetrieveemailcampaignsdata + $ref: >- + #/node-output/HubSpot Marketing Retrieve email campaigns + data/response/payload + - variable: HubSpotMarketingRetrieveemailcampaignsdataMetadata + $ref: >- + #/node-output/HubSpot Marketing Retrieve email campaigns + data/response + - variable: flowDetails + $ref: '#/flowDetails' + limit: 10 + - create-action: + name: Gmail Send email + target: + $ref: '#/integration/action-interfaces/action-interface-3' + map: + mappings: + - Body: + template: '{{$HubSpotMarketingRetrieveemailcampaignsdatabyID}}' + - Subject: + template: >- + Email Campaign Data + {{$HubSpotMarketingRetrieveemailcampaignsdatabyID.id}} + - To: + template: user3@email.com + $map: http://ibm.com/appconnect/map/v1 + input: + - variable: Foreachitem + $ref: '#/block/For each/current-item' + - variable: Trigger + $ref: '#/trigger/payload' + - variable: HubSpotMarketingRetrieveemailcampaignsdatabyID + $ref: >- + #/block/For each/node-output/HubSpot Marketing Retrieve + email campaigns data by ID/response/payload + - variable: HubSpotMarketingRetrieveemailcampaignsdata + $ref: >- + #/node-output/HubSpot Marketing Retrieve email campaigns + data/response/payload + - variable: HubSpotMarketingRetrieveemailcampaignsdataMetadata + $ref: >- + #/node-output/HubSpot Marketing Retrieve email campaigns + data/response + - variable: flowDetails + $ref: '#/flowDetails' + name: Send a Gmail message to the marketing team for each marketing campaign data retrieved from HubSpot Marketing +models: {} diff --git a/resources/markdown/Create a contact list or a contact in HubSpot Marketing when a new form entry is created in Wufoo_instructions.md b/resources/markdown/Create a contact list or a contact in HubSpot Marketing when a new form entry is created in Wufoo_instructions.md new file mode 100644 index 000000000..c5640c3f5 --- /dev/null +++ b/resources/markdown/Create a contact list or a contact in HubSpot Marketing when a new form entry is created in Wufoo_instructions.md @@ -0,0 +1,15 @@ +To refer to these instructions while editing the flow, open the [GitHub page](https://github.com/ot4i/app-connect-templates/tree/master/resources/markdown/Create%20a%20contact%20list%20or%20a%20contact%20in%20HubSpot%20Marketing%20when%20a%20new%20form%20entry%20is%20created%20in%20Wufoo_instructions.md) (opens in a new window). + +1. Click **Create flow** to start using the template. +2. Connect to the following accounts by using your credentials: + - [Wufoo](https://www.ibm.com/docs/en/app-connect/containers_cd?topic=apps-wufoo) + - [HubSpot Marketing](https://www.ibm.com/docs/en/app-connect/containers_cd?topic=apps-hubspot-marketing) + - [Gmail](https://www.ibm.com/docs/en/app-connect/containers_cd?topic=apps-gmail) +3. To start the flow, in the banner, click **Start flow**. + + +Use this template to create a contact list or a contact in HubSpot Marketing when a new form entry is created in Wufoo. + +In this example, consider that an event is being organized only for women. When a new Wufoo form entry is created, HubSpot Marketing retrieves its contact list. A contact list will be created based on the company details provided in the form. If the company doesn't exist in HubSpot Marketing, a new contact list is created. If the company already exists, a contact is directly created in HubSpot Marketing. + +A contact is created in HubSpot Marketing only if the contact is female. Otherwise, a Gmail message gets sent to the recipient, notifying them that the event is only for women. diff --git a/resources/markdown/Create a marketing event in HubSpot Marketing and send event details through Gmail for each Eventbrite event_instructions.md b/resources/markdown/Create a marketing event in HubSpot Marketing and send event details through Gmail for each Eventbrite event_instructions.md new file mode 100644 index 000000000..674a615d8 --- /dev/null +++ b/resources/markdown/Create a marketing event in HubSpot Marketing and send event details through Gmail for each Eventbrite event_instructions.md @@ -0,0 +1,15 @@ +To refer to these instructions while editing the flow, open the [GitHub page](https://github.com/ot4i/app-connect-templates/tree/master/resources/markdown/Create%20a%20marketing%20event%20in%20HubSpot%20Marketing%20and%20send%20event%20details%20through%20Gmail%20for%20each%20Eventbrite%20event_instructions.md) (opens in a new window). + +1. Click **Create flow** to start using the template. +2. Connect to the following accounts by using your credentials: + - [Eventbrite](https://www.ibm.com/docs/en/app-connect/containers_cd?topic=apps-eventbrite) + - [HubSpot Marketing](https://www.ibm.com/docs/en/app-connect/containers_cd?topic=apps-hubspot-marketing) + - [Gmail](https://www.ibm.com/docs/en/app-connect/containers_cd?topic=apps-gmail) +3. To start the flow, in the banner, click **Start flow**. + + +Use this template to create a marketing event in HubSpot Marketing for each event retrieved from Eventbrite. + +In this example, for each Eventbrite event that has been newly created, a HubSpot Marketing event is created. A Gmail message is then sent to the intended recipient, containing the details of the event. + + diff --git a/resources/markdown/Record event attendance for each Eventbrite attendee by syncing Eventbrite events with HubSpot Marketing events_instructions.md b/resources/markdown/Record event attendance for each Eventbrite attendee by syncing Eventbrite events with HubSpot Marketing events_instructions.md new file mode 100644 index 000000000..1d57f9361 --- /dev/null +++ b/resources/markdown/Record event attendance for each Eventbrite attendee by syncing Eventbrite events with HubSpot Marketing events_instructions.md @@ -0,0 +1,13 @@ +To refer to these instructions while editing the flow, open the [GitHub page](https://github.com/ot4i/app-connect-templates/tree/master/resources/markdown/Record%20event%20attendance%20for%20each%20Eventbrite%20attendee%20by%20syncing%20Eventbrite%20events%20with%20HubSpot%20Marketing%20events_instructions.md) (opens in a new window). + +1. Click **Create flow** to start using the template. +2. Connect to the following accounts by using your credentials: + - [Eventbrite](https://www.ibm.com/docs/en/app-connect/containers_cd?topic=apps-eventbrite) + - [HubSpot Marketing](https://www.ibm.com/docs/en/app-connect/containers_cd?topic=apps-hubspot-marketing) + - [Gmail](https://www.ibm.com/docs/en/app-connect/containers_cd?topic=apps-gmail) +3. To start the flow, in the banner, click **Start flow**. + + +Use this template to record event attendance for each Eventbrite attendee by syncing Eventbrite events with HubSpot Marketing events. + +In this example, the marketing events that were created earlier are being retrieved. The attendance of each Eventbrite attendee is being recorded together with the attendee's contact email ID and the attendance date in HubSpot Marketing. diff --git a/resources/markdown/Send a Gmail message to the marketing team for each marketing campaign data retrieved from HubSpot Marketing_instructions.md b/resources/markdown/Send a Gmail message to the marketing team for each marketing campaign data retrieved from HubSpot Marketing_instructions.md new file mode 100644 index 000000000..04f970995 --- /dev/null +++ b/resources/markdown/Send a Gmail message to the marketing team for each marketing campaign data retrieved from HubSpot Marketing_instructions.md @@ -0,0 +1,12 @@ +To refer to these instructions while editing the flow, open the [GitHub page](https://github.com/ot4i/app-connect-templates/tree/master/resources/markdown/Send%20a%20Gmail%20message%20to%20the%20marketing%20team%20for%20each%20marketing%20campaign%20data%20retrieved%20from%20HubSpot%20Marketing_instructions.md) (opens in a new window). + +1. Click **Create flow** to start using the template. +2. Connect to the following accounts by using your credentials: + - [HubSpot Marketing](https://www.ibm.com/docs/en/app-connect/containers_cd?topic=apps-hubspot-marketing) + - [Gmail](https://www.ibm.com/docs/en/app-connect/containers_cd?topic=apps-gmail) +3. To start the flow, in the banner, click **Start flow**. + + +Use this template to send a Gmail message to the marketing team for each marketing campaign data retrieved from HubSpot Marketing. + + diff --git a/resources/template-metadata.json b/resources/template-metadata.json index eed2753ab..25ae7ab71 100644 --- a/resources/template-metadata.json +++ b/resources/template-metadata.json @@ -425,7 +425,7 @@ { "name": "Record Microsoft Dynamics 365 campaign to Google Sheets", "description": "This template creates a new row in Google Sheets whenever a campaign is added in Microsoft Dynamics 365 for Sales.", - "summary": "Microsoft Dynamics 365 to Google Sheet", + "summary": "Microsoft Dynamics 365 to Google Sheets", "sourceApp": "msdynamicscrmrest", "targetApps": ["googlesheet"], "tags": ["msdynamicscrmrest", "googlesheet"], @@ -2581,6 +2581,42 @@ "targetApps": ["servicenow", "slack", "github"], "tags": ["github", "servicenow", "slack", "github", "setVariable", "foreach", "if"], "offerings": ["app connect professional"] + }, + { + "name": "Create a contact list or a contact in HubSpot Marketing when a new form entry is created in Wufoo", + "description": "Use this template to create a contact list or a contact in HubSpot Marketing when a new form entry is created in Wufoo. In this example, consider that an event is being organized only for women. When a new Wufoo form entry is created, HubSpot Marketing retrieves its contact list. A contact list will be created based on the company details provided in the form. If the company doesn't exist in HubSpot Marketing, a new contact list is created. If the company already exists, a contact is directly created in HubSpot Marketing. A contact is created in HubSpot Marketing only if the contact is female. Otherwise, a Gmail message gets sent to the recipient, notifying them that the event is only for women.", + "summary": "Wufoo to 2 applications", + "sourceApp": "wufoo", + "targetApps": ["hubspotmarketing", "hubspotmarketing", "gmail", "hubspotmarketing"], + "tags": ["wufoo", "hubspotmarketing", "gmail", "if"], + "offerings": ["app connect professional"] + }, + { + "name": "Send a Gmail message to the marketing team for each marketing campaign data retrieved from HubSpot Marketing", + "description": "Use this template to send a Gmail message to the marketing team for each marketing campaign data retrieved from HubSpot Marketing.", + "summary": "Scheduler to 2 applications", + "sourceApp": "streaming-connector-scheduler", + "targetApps": ["hubspotmarketing", "hubspotmarketing", "gmail"], + "tags": ["scheduler", "hubspotmarketing", "gmail"], + "offerings": ["app connect professional"] + }, + { + "name": "Create a marketing event in HubSpot Marketing and send event details through Gmail for each Eventbrite event", + "description": "Use this template to create a marketing event in HubSpot Marketing for each event retrieved from Eventbrite. In this example, for each Eventbrite event that has been newly created, a HubSpot Marketing event is created. A Gmail message is then sent to the intended recipient, containing the details of the event.", + "summary": "Scheduler to 3 applications", + "sourceApp": "streaming-connector-scheduler", + "targetApps": ["eventbrite", "hubspotmarketing", "gmail"], + "tags": ["scheduler", "hubspotmarketing", "gmail", "foreach", "if"], + "offerings": ["app connect professional"] + }, + { + "name": "Record event attendance for each Eventbrite attendee by syncing Eventbrite events with HubSpot Marketing events", + "description": "Use this template to Record event attendance for each Eventbrite attendee by syncing Eventbrite events with HubSpot Marketing events. In this example, the marketing events that were created earlier are being retrieved. The attendance of each Eventbrite attendee is being recorded together with the attendee's contact email ID and the attendance date in HubSpot Marketing.", + "summary": "Scheduler to 3 applications", + "sourceApp": "streaming-connector-scheduler", + "targetApps": ["hubspotmarketing", "hubspotmarketing", "eventbrite", "hubspotmarketing", "gmail"], + "tags": ["scheduler", "hubspotmarketing", "gmail", "foreach", "eventbrite"], + "offerings": ["app connect professional"] } ] }