Skip to content

Commit 008bdf4

Browse files
arjunsarkar2024ireneapeterDeepak-Ayilliath
authored
Usecase templates for Salesloft (#546)
* Added use case yamls for salesloft * added template metadata for salesloft usecases * Update instructions for Salesforce task logging from Salesloft * Add instructions for Salesloft notification for new lead in salesforce Added instructions for notifying Salesloft customers when a new lead is created in Salesforce. * Create instructions for Freshservice feedback email flow Added instructions for sending feedback requests after Freshservice ticket resolution. * Add instructions for Salesforce to Salesloft integration Added instructions for updating status changes from Salesforce to Salesloft. * Update Notify salesloft customer YAML file * Remove account names from action interfaces * Remove account-name fields from YAML configuration Removed account names for Salesforce and Salesloft. * Clean up account-name entries in YAML configuration Removed redundant account-name entries for Salesloft and Salesforce. * Remove duplicate account-name entries in YAML Removed duplicate account-name entries for Salesforce and Salesloft in the YAML configuration. * Rename Notify salesloft customer when new lead is created in Salesforce_instructions.md to Notify salesloft customer when a new lead is created in Salesforce_instructions.md * Delete resources/Notify salesloft customer when a new lead is created in Salesforce.yaml * Updating use case yaml Adding use case yaml for Notify salesloft customer when a new lead is created in Salesforce * Remove account-name entries from YAML configuration * Update Send a mail requesting feedback when a Freshservice ticket is resolved.yaml * Update Notify salesloft customer when a new lead is created in Salesforce.yaml * Update Notify salesloft customer when a new lead is created in Salesforce.yaml * Update instructions link for Salesforce task creation Updated the reference link for the instructions to point to the new task creation flow in Salesforce. * Update instructions link for Salesloft cadence membership * Update instructions link for customer feedback flow * Rename instruction file for clarity * Add instructions for creating cadence membership in Salesloft * Rename instructions file for Salesforce task creation * Rename Request customer feedback through a Salesloft cadence when a Freshservice ticket is resolved to Request customer feedback through a Salesloft cadence when a Freshservice ticket is resolved_instructions.md * Add new task creation in Salesforce for incoming calls * Rename YAML file for Salesloft lead creation * Rename feedback request YAML file * Rename YAML file for clarity on functionality * Update salesloft name statement after content review * Update Create a cadence membership in Salesloft when a new lead is created in Salesforce.yaml * Update Create a note in Salesloft when an opportunity status is updated in Salesforce.yaml * Update Create a task in Salesforce when a new call is received in Salesloft.yaml * Update Request customer feedback through a Salesloft cadence when a Freshservice ticket is resolved.yaml * Update Create a cadence membership in Salesloft when a new lead is created in Salesforce.yaml * Update Request customer feedback through a Salesloft cadence when a Freshservice ticket is resolved.yaml * Update Create a cadence membership in Salesloft when a new lead is created in Salesforce_instructions.md * Update Create a cadence membership in Salesloft when a new lead is created in Salesforce_instructions.md * Update Create a note in Salesloft when an opportunity status is updated in Salesforce_instructions.md * Update Create a task in Salesforce when a new call is received in Salesloft_instructions.md * Update Request customer feedback through a Salesloft cadence when a Freshservice ticket is resolved_instructions.md * Update template-metadata.json * Corrections --------- Co-authored-by: ireneapeter <158272585+ireneapeter@users.noreply.github.com> Co-authored-by: Deepak Ayilliath <87267785+Deepak-Ayilliath@users.noreply.github.com>
1 parent 00f896c commit 008bdf4

9 files changed

Lines changed: 710 additions & 0 deletions
Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,131 @@
1+
$integration: http://ibm.com/appconnect/integration/v2/integrationFile
2+
integration:
3+
type: trigger-action
4+
trigger-interfaces:
5+
trigger-interface-1:
6+
type: event-trigger
7+
connector-type: salesforce
8+
triggers:
9+
CREATED:
10+
assembly:
11+
$ref: '#/integration/assemblies/assembly-1'
12+
input-context:
13+
data: Lead
14+
options:
15+
connectorServiceOptions:
16+
httpMethod: post
17+
path: resources/Lead/operations/CREATED/subscribe
18+
action: created
19+
action-interfaces:
20+
action-interface-2:
21+
type: api-action
22+
business-object: Cadence memberships
23+
connector-type: salesloft
24+
actions:
25+
createCadenceMembership: {}
26+
options:
27+
connectorServiceOptions:
28+
httpMethod: post
29+
path: resources/Cadence%20memberships/operations/createCadenceMembership
30+
action: create
31+
action-interface-1:
32+
type: api-action
33+
business-object: Contact
34+
connector-type: salesforce
35+
actions:
36+
RETRIEVEALL: {}
37+
options:
38+
connectorServiceOptions:
39+
httpMethod: get
40+
path: resources/Contact
41+
action: retrievewithwhere
42+
action-interface-3:
43+
type: api-action
44+
business-object: People
45+
connector-type: salesloft
46+
actions:
47+
listPeople: {}
48+
options:
49+
connectorServiceOptions:
50+
httpMethod: get
51+
path: resources/People/operations/listPeople
52+
action: retrievewithwhere
53+
assemblies:
54+
assembly-1:
55+
assembly:
56+
execute:
57+
- retrieve-action:
58+
name: Salesforce Retrieve contacts
59+
target:
60+
$ref: '#/integration/action-interfaces/action-interface-1'
61+
filter:
62+
limit: 8
63+
where:
64+
Id: '{{$Trigger.recordsToConvert[0].contactId}}'
65+
input:
66+
- variable: Trigger
67+
$ref: '#/trigger/payload'
68+
- variable: flowDetails
69+
$ref: '#/flowDetails'
70+
pagination-type: TOKEN
71+
allow-truncation: true
72+
allow-empty-output: true
73+
- custom-action:
74+
name: Salesloft Retrieve people
75+
target:
76+
$ref: '#/integration/action-interfaces/action-interface-3'
77+
allow-empty-output: false
78+
filter:
79+
limit: 10
80+
where:
81+
email_addresses: '{{$SalesforceRetrievecontacts[0].Email}}'
82+
input:
83+
- variable: Trigger
84+
$ref: '#/trigger/payload'
85+
- variable: SalesforceRetrievecontacts
86+
$ref: '#/node-output/Salesforce Retrieve contacts/response/payload'
87+
- variable: SalesforceRetrievecontactsMetadata
88+
$ref: '#/node-output/Salesforce Retrieve contacts/response'
89+
- variable: flowDetails
90+
$ref: '#/flowDetails'
91+
allow-truncation: false
92+
pagination-type: SKIP_LIMIT
93+
action: listPeople
94+
map:
95+
$map: http://ibm.com/appconnect/map/v1
96+
input:
97+
- variable: Trigger
98+
$ref: '#/trigger/payload'
99+
- variable: SalesforceRetrievecontacts
100+
$ref: '#/node-output/Salesforce Retrieve contacts/response/payload'
101+
- variable: SalesforceRetrievecontactsMetadata
102+
$ref: '#/node-output/Salesforce Retrieve contacts/response'
103+
- variable: flowDetails
104+
$ref: '#/flowDetails'
105+
mappings: []
106+
- custom-action:
107+
name: Salesloft Create cadence membership
108+
target:
109+
$ref: '#/integration/action-interfaces/action-interface-2'
110+
action: createCadenceMembership
111+
map:
112+
mappings:
113+
- cadence_id:
114+
expression: 'Cadence_ID'
115+
- person_id:
116+
expression: '$SalesloftRetrievepeople[0].id'
117+
$map: http://ibm.com/appconnect/map/v1
118+
input:
119+
- variable: Trigger
120+
$ref: '#/trigger/payload'
121+
- variable: SalesforceRetrievecontacts
122+
$ref: '#/node-output/Salesforce Retrieve contacts/response/payload'
123+
- variable: SalesforceRetrievecontactsMetadata
124+
$ref: '#/node-output/Salesforce Retrieve contacts/response'
125+
- variable: SalesloftRetrievepeople
126+
$ref: '#/node-output/Salesloft Retrieve people/response/payload'
127+
- variable: flowDetails
128+
$ref: '#/flowDetails'
129+
filter: {}
130+
name: Create a cadence membership in Salesloft when a new lead is created in Salesforce
131+
models: {}
Lines changed: 133 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,133 @@
1+
$integration: http://ibm.com/appconnect/integration/v2/integrationFile
2+
integration:
3+
type: trigger-action
4+
trigger-interfaces:
5+
trigger-interface-1:
6+
type: event-trigger
7+
connector-type: salesforce
8+
triggers:
9+
UPDATED:
10+
assembly:
11+
$ref: '#/integration/assemblies/assembly-1'
12+
input-context:
13+
data: Opportunity
14+
options:
15+
connectorServiceOptions:
16+
httpMethod: post
17+
path: resources/Opportunity/operations/UPDATED/subscribe
18+
action: updated
19+
action-interfaces:
20+
action-interface-1:
21+
type: api-action
22+
business-object: Contact
23+
connector-type: salesforce
24+
actions:
25+
RETRIEVEALL: {}
26+
options:
27+
connectorServiceOptions:
28+
httpMethod: get
29+
path: resources/Contact
30+
action: retrievewithwhere
31+
action-interface-2:
32+
type: api-action
33+
business-object: People
34+
connector-type: salesloft
35+
actions:
36+
listPeople: {}
37+
options:
38+
connectorServiceOptions:
39+
httpMethod: get
40+
path: resources/People/operations/listPeople
41+
action: retrievewithwhere
42+
action-interface-3:
43+
type: api-action
44+
business-object: Notes
45+
connector-type: salesloft
46+
actions:
47+
createNote: {}
48+
options:
49+
connectorServiceOptions:
50+
httpMethod: post
51+
path: resources/Notes/operations/createNote
52+
action: create
53+
assemblies:
54+
assembly-1:
55+
assembly:
56+
execute:
57+
- retrieve-action:
58+
name: Salesforce Retrieve contacts
59+
target:
60+
$ref: '#/integration/action-interfaces/action-interface-1'
61+
allow-empty-output: false
62+
filter:
63+
limit: 1
64+
where:
65+
Id: '{{$Trigger.ContactId}}'
66+
input:
67+
- variable: Trigger
68+
$ref: '#/trigger/payload'
69+
- variable: flowDetails
70+
$ref: '#/flowDetails'
71+
allow-truncation: false
72+
pagination-type: TOKEN
73+
- custom-action:
74+
name: Salesloft Retrieve people
75+
target:
76+
$ref: '#/integration/action-interfaces/action-interface-2'
77+
allow-empty-output: false
78+
filter:
79+
limit: 10
80+
where:
81+
email_addresses: '{{$SalesforceRetrievecontacts[0].Email}}'
82+
input:
83+
- variable: Trigger
84+
$ref: '#/trigger/payload'
85+
- variable: SalesforceRetrievecontacts
86+
$ref: '#/node-output/Salesforce Retrieve contacts/response/payload'
87+
- variable: SalesforceRetrievecontactsMetadata
88+
$ref: '#/node-output/Salesforce Retrieve contacts/response'
89+
- variable: flowDetails
90+
$ref: '#/flowDetails'
91+
allow-truncation: false
92+
pagination-type: SKIP_LIMIT
93+
action: listPeople
94+
map:
95+
$map: http://ibm.com/appconnect/map/v1
96+
input:
97+
- variable: Trigger
98+
$ref: '#/trigger/payload'
99+
- variable: SalesforceRetrievecontacts
100+
$ref: '#/node-output/Salesforce Retrieve contacts/response/payload'
101+
- variable: SalesforceRetrievecontactsMetadata
102+
$ref: '#/node-output/Salesforce Retrieve contacts/response'
103+
- variable: flowDetails
104+
$ref: '#/flowDetails'
105+
mappings: []
106+
- custom-action:
107+
name: Salesloft Create note
108+
target:
109+
$ref: '#/integration/action-interfaces/action-interface-3'
110+
action: createNote
111+
map:
112+
mappings:
113+
- associated_with_id:
114+
expression: '$SalesloftRetrievepeople[0].id'
115+
- associated_with_type:
116+
template: person
117+
- content:
118+
template: 'Salesforce opportunity has a new update. Updated opportunity details are: {{$Trigger}}'
119+
$map: http://ibm.com/appconnect/map/v1
120+
input:
121+
- variable: Trigger
122+
$ref: '#/trigger/payload'
123+
- variable: SalesforceRetrievecontacts
124+
$ref: '#/node-output/Salesforce Retrieve contacts/response/payload'
125+
- variable: SalesforceRetrievecontactsMetadata
126+
$ref: '#/node-output/Salesforce Retrieve contacts/response'
127+
- variable: SalesloftRetrievepeople
128+
$ref: '#/node-output/Salesloft Retrieve people/response/payload'
129+
- variable: flowDetails
130+
$ref: '#/flowDetails'
131+
filter: {}
132+
name: Create a note in Salesloft when an opportunity status is updated in Salesforce
133+
models: {}
Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
$integration: http://ibm.com/appconnect/integration/v2/integrationFile
2+
integration:
3+
type: trigger-action
4+
trigger-interfaces:
5+
trigger-interface-1:
6+
type: event-trigger
7+
connector-type: salesloft
8+
triggers:
9+
CREATED_POLLER:
10+
assembly:
11+
$ref: '#/integration/assemblies/assembly-1'
12+
input-context:
13+
data: Calls
14+
options:
15+
subscription:
16+
timeZone: UTC
17+
pollingInterval: 5
18+
connectorServiceOptions:
19+
httpMethod: post
20+
path: resources/Calls/operations/CREATED_POLLER/subscribe
21+
action: created_poller
22+
action-interfaces:
23+
action-interface-5:
24+
type: api-action
25+
business-object: People
26+
connector-type: salesloft
27+
actions:
28+
getPersonById: {}
29+
options:
30+
connectorServiceOptions:
31+
httpMethod: get
32+
path: resources/People/operations/getPersonById
33+
action: retrieve
34+
action-interface-6:
35+
type: api-action
36+
business-object: Contact
37+
connector-type: salesforce
38+
actions:
39+
RETRIEVEALL: {}
40+
options:
41+
connectorServiceOptions:
42+
httpMethod: get
43+
path: resources/Contact
44+
action: retrievewithwhere
45+
action-interface-1:
46+
type: api-action
47+
business-object: Task
48+
connector-type: salesforce
49+
actions:
50+
CREATE: {}
51+
options:
52+
connectorServiceOptions:
53+
httpMethod: post
54+
path: resources/Task
55+
action: create
56+
assemblies:
57+
assembly-1:
58+
assembly:
59+
execute:
60+
- custom-action:
61+
name: Salesloft Retrieve person by ID
62+
target:
63+
$ref: '#/integration/action-interfaces/action-interface-5'
64+
action: getPersonById
65+
map:
66+
$map: http://ibm.com/appconnect/map/v1
67+
input:
68+
- variable: Trigger
69+
$ref: '#/trigger/payload'
70+
- variable: flowDetails
71+
$ref: '#/flowDetails'
72+
mappings: []
73+
filter:
74+
where:
75+
id: '{{$Trigger.called_person.id}}'
76+
input:
77+
- variable: Trigger
78+
$ref: '#/trigger/payload'
79+
- variable: flowDetails
80+
$ref: '#/flowDetails'
81+
- retrieve-action:
82+
name: Salesforce Retrieve contacts
83+
target:
84+
$ref: '#/integration/action-interfaces/action-interface-6'
85+
allow-empty-output: false
86+
filter:
87+
limit: 10
88+
where:
89+
Email: '{{$SalesloftRetrievepersonbyID.data.email_address}}'
90+
input:
91+
- variable: Trigger
92+
$ref: '#/trigger/payload'
93+
- variable: SalesloftRetrievepersonbyID
94+
$ref: '#/node-output/Salesloft Retrieve person by ID/response/payload'
95+
- variable: flowDetails
96+
$ref: '#/flowDetails'
97+
allow-truncation: false
98+
pagination-type: TOKEN
99+
- create-action:
100+
name: Salesforce Create task
101+
target:
102+
$ref: '#/integration/action-interfaces/action-interface-1'
103+
map:
104+
mappings:
105+
- CallDisposition:
106+
template: '{{$Trigger.sentiment}}'
107+
- CallDurationInSeconds:
108+
expression: '$Trigger.duration'
109+
- CallType:
110+
template: Internal
111+
- Description:
112+
template: '{{$Trigger.disposition}}'
113+
- Subject:
114+
template: Call
115+
- WhoId:
116+
template: '{{$SalesforceRetrievecontacts[0].Id}}'
117+
$map: http://ibm.com/appconnect/map/v1
118+
input:
119+
- variable: Trigger
120+
$ref: '#/trigger/payload'
121+
- variable: SalesloftRetrievepersonbyID
122+
$ref: '#/node-output/Salesloft Retrieve person by ID/response/payload'
123+
- variable: SalesforceRetrievecontacts
124+
$ref: '#/node-output/Salesforce Retrieve contacts/response/payload'
125+
- variable: SalesforceRetrievecontactsMetadata
126+
$ref: '#/node-output/Salesforce Retrieve contacts/response'
127+
- variable: flowDetails
128+
$ref: '#/flowDetails'
129+
name: Create a task in Salesforce when a new call is received in Salesloft
130+
models: {}

0 commit comments

Comments
 (0)