AutomateSalesforcePluginRecordNotFoundWebhook
ensure automation AutomateSalesforcePluginRecordNotFoundWebhook kind: pluginWebhook
plugIn: SalesforcePlugin
pluginApi: SaleforceRecordNotFound
ensure form PrivateRecordNotFoundWebhook
ensure section: Details
ensure field ObjectType kind: text
ensure field ObjectId kind: text
1. OnCallback event
ensure var VarConditionRecordNotFoundWebhookObjectTypeAccount kind: condition
deploy: fixedOnDeploy
value: "<root>
<stmt>${f:Details.ObjectType} == ${var:VarTextObjectTypeAccount}</stmt>
</root>"
sourcePlugin: SalesforcePlugin
sourceForm: SalesforceRecordNotFound
ensure automation AutomateSalesforcePluginRecordNotFoundWebhook
ensure event OnCallback fire: onCallback
executionConditionVar: VarConditionRecordNotFoundWebhookObjectTypeAccount
ensure pipelineVar PipelineAccountRecordExistResult form: PrivateRowIdResult
ensure pipelineVar PipelineAccountRecordNotFound form: PrivateRecordNotFoundWebhook
a. CopyRecord step
ensure var VarMappingSalesforceRecordNotFoundToPrivateRecordNotFoundWebhook kind: mapping
deploy: fixedOnDeploy
fromPlugin: SalesforcePlugin
fromForm: SalesforceRecordNotFound
toForm: PrivateRecordNotFoundWebhook
fieldMappingMap: {
'map': {
'${f:Details.ObjectType}': 'Details.ObjectType',
'${f:Details.ObjectId}': 'Details.ObjectId'
}
}
// step, copyField, CopyRecordNotFoundToPipelineVar
ensure automation AutomateSalesforcePluginRecordNotFoundWebhook
ensure event OnCallback
ensure step CopyRecordNotFoundToPipelineVar kind: copyField
targetPipelineVar: PipelineAccountRecordNotFound
mappingVar: VarMappingSalesforceRecordNotFoundToPrivateRecordNotFoundWebhook
b. GetAccounts step
ensure var VarConditionDoesObjectIdMatchAccountId kind: condition
deploy: fixedOnDeploy
value: "<root>
<stmt>${in:Details.ObjectId} == ${f:Details.Id}</stmt>
</root>"
sourceForm: EntityAccount
inputForm: PrivateRecordNotFoundWebhook
// step, getSpreadsheetRows, GetAccountSpreadsheetRows
ensure automation AutomateSalesforcePluginRecordNotFoundWebhook
ensure event OnCallback
ensure step GetAccountSpreadsheetRows kind: getSpreadsheetRows
targetSpreadsheet: AccountSheet
targetSpreadsheetFilterVar: VarConditionDoesObjectIdMatchAccountId
inputFormPipelineVar: PipelineAccountRecordNotFound
outputFormPipelineVar: PipelineAccountRecordExistResult
targetToSourceMappingVar: VarMappingAccountToPrivateRowIdResult2
c. RemoveAccount step
// step, removeFromSpreadsheet, RemoveRecordFromAccountSpreadsheet
ensure step RemoveRecordFromAccountSpreadsheet kind: removeFromSpreadsheet
executionConditionInputPipelineVar: PipelineAccountRecordNotFound
targetSpreadsheet: AccountSheet
inputFormPipelineVar: PipelineAccountRecordExistResult
rowIdField: Details.RowId
2. OnCallbackOpportunityNotFound event
ensure var VarConditionRecordNotFoundWebhookObjectTypeOpportunity kind: condition
deploy: fixedOnDeploy
value: "<root>
<stmt>${f:Details.ObjectType} == ${var:VarTextObjectTypeOpportunity}</stmt>
</root>"
sourcePlugin: SalesforcePlugin
sourceForm: SalesforceRecordNotFound
ensure automation AutomateSalesforcePluginRecordNotFoundWebhook
ensure event OnCallbackOpportunityNotFound
fire: onCallback
executionConditionVar: VarConditionRecordNotFoundWebhookObjectTypeOpportunity
ensure pipelineVar PipelineOpportunityRecordExistResult form: PrivateRowIdResult
ensure pipelineVar PipelineOpportunityRecordNotFound form: PrivateRecordNotFoundWebhook
a. CopyRecord step
// step, copyField, CopyRecordNotFoundToPipeline
ensure step CopyRecordNotFoundToPipeline kind: copyField
targetPipelineVar: PipelineOpportunityRecordNotFound
mappingVar: VarMappingSalesforceRecordNotFoundToPrivateRecordNotFoundWebhook
b. GetOpportunities step
ensure var VarConditionDoesObjectIdMatchOpportunityId kind: condition
deploy: fixedOnDeploy
value: "<root>
<stmt>${in:Details.ObjectId} == ${f:Details.Id}</stmt>
</root>"
sourceForm: EntityOpportunity
inputForm: PrivateRecordNotFoundWebhook
ensure var VarMappingOpportunityToPrivateRowIdResult1 kind: mapping
deploy: fixedOnDeploy
fromForm: EntityOpportunity
toForm: PrivateRowIdResult
fieldMappingMap: {
'map': {
'${ctx:row.id}': 'Details.RowId'
}
}
// step, getSpreadsheetRows, GetOpportunitySpreadsheetRows
ensure automation AutomateSalesforcePluginRecordNotFoundWebhook
ensure event OnCallbackOpportunityNotFound
ensure step GetOpportunitySpreadsheetRows kind: getSpreadsheetRows
targetSpreadsheet: OpportunitySheet
targetSpreadsheetFilterVar: VarConditionDoesObjectIdMatchOpportunityId
inputFormPipelineVar: PipelineOpportunityRecordNotFound
outputFormPipelineVar: PipelineOpportunityRecordExistResult
targetToSourceMappingVar: VarMappingOpportunityToPrivateRowIdResult1
c. RemoveOpportunity step
// step, removeFromSpreadsheet, RemoveRecordFromOpportunitySheet
ensure step RemoveRecordFromOpportunitySheet kind: removeFromSpreadsheet
executionConditionInputPipelineVar: PipelineOpportunityRecordNotFound
targetSpreadsheet: OpportunitySheet
inputFormPipelineVar: PipelineOpportunityRecordExistResult
rowIdField: Details.RowId
3. OnCallbackTaskNotFound event
ensure var VarConditionRecordNotFoundWebhookObjectTypeOpportunity kind: condition
deploy: fixedOnDeploy
value: "<root>
<stmt>${f:Details.ObjectType} == ${var:VarTextObjectTypeTask}</stmt>
</root>"
sourcePlugin: SalesforcePlugin
sourceForm: SalesforceRecordNotFound
ensure automation AutomateSalesforcePluginRecordNotFoundWebhook
ensure event OnCallbackTaskNotFound
fire: onCallback
executionConditionVar: VarConditionRecordNotFoundWebhookObjectTypeTask
ensure pipelineVar PipelineTaskRecordExistResult form: PrivateRowIdResult
ensure pipelineVar PipelineTaskRecordNotFound form: PrivateRecordNotFoundWebhook
a. CopyRecord step
// step, copyField, CopyRecordNotFoundToPipelineVar
ensure step CopyRecordNotFoundToPipelineVar kind: copyField
targetPipelineVar: PipelineTaskRecordNotFound
mappingVar: VarMappingSalesforceRecordNotFoundToPrivateRecordNotFoundWebhook
b. GetTasks step
ensure var VarConditionDoesObjectIdMatchTaskId kind: condition
deploy: fixedOnDeploy
value: "<root>
<stmt>${in:Details.ObjectId} == ${f:Details.Id}</stmt>
</root>"
sourceForm: EntityTask
inputForm: PrivateRecordNotFoundWebhook
ensure var VarMappingTaskToPrivateRowIdResult2 kind: mapping
deploy: fixedOnDeploy
fromForm: EntityTask
toForm: PrivateRowIdResult
fieldMappingMap: {
'map': {
'${ctx:row.id}': 'Details.RowId'
}
}
// step, getSpreadsheetRows, GetTaskSpreadsheetRows
ensure automation AutomateSalesforcePluginRecordNotFoundWebhook
ensure event OnCallbackTaskNotFound
ensure step GetTaskSpreadsheetRows kind: getSpreadsheetRows
targetSpreadsheet: TaskSheet
targetSpreadsheetFilterVar: VarConditionDoesObjectIdMatchTaskId
inputFormPipelineVar: PipelineTaskRecordNotFound
outputFormPipelineVar: PipelineTaskRecordExistResult
targetToSourceMappingVar: VarMappingTaskToPrivateRowIdResult2
c. RemoveTask step
// step, removeFromSpreadsheet, RemoveRecordFromTaskSheet
ensure step RemoveRecordFromTaskSheet kind: removeFromSpreadsheet
executionConditionInputPipelineVar: PipelineTaskRecordNotFound
targetSpreadsheet: TaskSheet
inputFormPipelineVar: PipelineTaskRecordExistResult
rowIdField: Details.RowId
4. OnCallbackEventNotFound event
ensure var VarConditionRecordNotFoundWebhookObjectTypeEvent kind: condition
deploy: fixedOnDeploy
value: "<root>
<stmt>${f:Details.ObjectType} == ${var:VarTextObjectTypeEvent}</stmt>
</root>"
sourcePlugin: SalesforcePlugin
sourceForm: SalesforceRecordNotFound
ensure automation AutomateSalesforcePluginRecordNotFoundWebhook
ensure event OnCallbackEventNotFound
fire: onCallback
executionConditionVar: VarConditionRecordNotFoundWebhookObjectTypeEvent
ensure pipelineVar PipelineEventRecordExistResult form: PrivateRowIdResult
ensure pipelineVar PipelineEventRecordNotFound form: PrivateRecordNotFoundWebhook
a. CopyRecord step
// step, copyField, CopyRecordNotFoundToPipelineVar
ensure step CopyRecordNotFoundToPipeline kind: copyField
targetPipelineVar: PipelineEventRecordNotFound
mappingVar: VarMappingSalesforceRecordNotFoundToPrivateRecordNotFoundWebhook
b. GetEvents step
ensure var VarConditionDoesObjectIdMatchEventId kind: condition
deploy: fixedOnDeploy
value: "<root>
<stmt>${in:Details.ObjectId} == ${f:Details.Id}</stmt>
</root>"
sourceForm: EntityEvent
inputForm: PrivateRecordNotFoundWebhook
ensure var VarMappingEventToPrivateRowIdResult2 kind: mapping
deploy: fixedOnDeploy
fromForm: EntityEvent
toForm: PrivateRowIdResult
fieldMappingMap: {
'map': {
'${ctx:row.id}': 'Details.RowId'
}
}
// step, getSpreadsheetRows, GetTaskSpreadsheetRows
ensure automation AutomateSalesforcePluginRecordNotFoundWebhook
ensure event OnCallbackEventNotFound
ensure step GetEventSpreadsheetRows kind: getSpreadsheetRows
targetSpreadsheet: EventSheet
targetSpreadsheetFilterVar: VarConditionDoesObjectIdMatchEventId
inputFormPipelineVar: PipelineEventRecordNotFound
outputFormPipelineVar: PipelineEventRecordExistResult
targetToSourceMappingVar: VarMappingEventToPrivateRowIdResult2
c. RemoveEvent step
// step, removeFromSpreadsheet, RemoveRecordFromEventSheet
ensure step RemoveRecordFromEventSheet kind: removeFromSpreadsheet
executionConditionInputPipelineVar: PipelineEventRecordNotFound
targetSpreadsheet: EventSheet
inputFormPipelineVar: PipelineEventRecordExistResult
rowIdField: Details.RowId