afv-library/skills/platform-metadata-api-context-get/assets/metadata_api/RecommendationStrategy.json

327 lines
165 KiB
JSON
Raw Normal View History

{
"sections": [
"title",
"description",
"file_information",
"directory_location",
"fields",
"sub_types",
"wsdl_segment",
"declarative_metadata_sample_definition"
],
"title": "RecommendationStrategy - Metadata API",
"description": "Represents a recommendation strategy. Recommendation strategies are applications, similar to data flows, that determine a set of recommendations to be delivered to the client through data retrieval, branching, and logic operations.",
"file_information": ".recommendationStrategy",
"directory_location": "recommendationStrategies",
"fields_columns": [
"type",
"description"
],
"fields": {
"actionContext": {
"type": "StrategyAction[]",
"description": "An array of action contexts used by the strategy."
},
"contextRecordType": {
"type": "string",
"description": "The sObject type of the $record used by the flow."
},
"description": {
"type": "string",
"description": "Description of the recommendation strategy."
},
"filter": {
"type": "StrategyNodeFilter[]",
"description": "An array of filter nodes."
},
"if": {
"type": "StrategyNodeIf[]",
"description": "An array of if nodes."
},
"invocableAction": {
"type": "StrategyNodeInvocableAction[]",
"description": "An array of Apex invocable action nodes. Available in API version 46.0 and later."
},
"isTemplate": {
"type": "boolean",
"description": "Indicates whether the recommendation strategy is a template (true) or not (false). When installed from managed packages, recommendation strategies cant be viewed or cloned by subscribers because of intellectual property (IP) protection. But when those recommendation strategies are templates, subscribers can open them in a builder, clone them, and customize the clones. The default value of this field is false. Available in API version 47.0 and later."
},
"label": {
"type": "string",
"description": "Label for the flow.",
"required": true
},
"map": {
"type": "StrategyNodeMap[]",
"description": "An array of map nodes. Available in API version 46.0 and later."
},
"mutuallyExclusive": {
"type": "StrategyNodeExclusive[]",
"description": "An array of mutuallyExclusive nodes."
},
"onBehalfOfExpression": {
"type": "string",
"description": "Formula expression defining the intended target of the recommendations (in other words, the Contact associated with a Case). Mainly used for reaction tracking."
},
"recommendationLimit": {
"type": "StrategyNodeRecommendationLimit[]",
"description": "An array of recommendation limit nodes."
},
"recommendationLoad": {
"type": "StrategyNodeRecommendationLoad[]",
"description": "An array of recommendation load nodes."
},
"sort": {
"type": "StrategyNodeSort[]",
"description": "An array of sort nodes."
},
"union": {
"type": "StrategyNodeUnion[]",
"description": "An array of union nodes."
}
},
"sub_types": {
"StrategyNodeBase": {
"childNode": {
"type": "string",
"description": "Array of child node names, in order of execution."
},
"description": {
"type": "string",
"description": "Description of the node."
},
"label": {
"type": "string",
"description": "Label of the node."
},
"name": {
"type": "string",
"description": "Unique name of the node.",
"required": true
}
},
"StrategyAction": {
"action": {
"type": "string",
"description": "The name or id of the InvocableAction to execute.",
"required": true
},
"argument": {
"type": "StrategyActionArg[]",
"description": "List of strategy action arguments."
},
"description": {
"type": "string",
"description": "Description of the strategy."
},
"label": {
"type": "string",
"description": "Label for the strategy action."
},
"name": {
"type": "string",
"description": "Unique name of the strategy action, which is referenced by decisioning elements in the strategy.",
"required": true
},
"type": {
"type": "InvocableActionType (enumeration of type string)",
"description": "The action type. Valid values are: activateSessionPermSetActivates a session-based permission set for the running user. activationSchema Gets the activation schema for the specified activation. This value is available in API version 64.0 and later. addMessageToChatAdds a message to an existing Salesforce Anywhere chat. This value is available in API version 49.0 and later. addMessageToQuipChatAdds a Quip message to an existing chat room. This value is available in API version 46.0 and later. addMessageToQuipDocumentAdds a Quip message to an existing Quip document, spreadsheet, or slide. This value is available in API version 46.0 and later. addQuipDocumentToFolderAdds an existing Quip document, spreadsheet, or slide to an existing folder. This value is available in API version 46.0 and later. addUsersToChatAdds users to an existing Salesforce Anywhere chat. This value is available in API version 49.0 and later. addUsersToQuipDocumentAdds users, identified by their email addresses, to an existing Quip document, spreadsheet, or slide. This value is available in API version 46.0 and later. addUsersToQuipChatAdds users, identified by their email addresses, to an existing Quip chat room. This value is available in API version 46.0 and later. answerQuestionsWithSalesforceDocumentationSearches Salesforce documentation to answer questions and provide links to relevant articles. attachQuipDocumentToRecordAttaches a Quip document, spreadsheet, or slide to a Salesforce record. This value is available in API version 46.0 and later. apexInvokes an Apex method that has the @invocableMethod annotation. archiveKnowledgeArticlesArchives a list of published Knowledge articles. This value is available in API version 45.0 and later. assignKnowledgeArticlesMass assigns knowledge articles from article list views. This value is available in API version 44.0 and later. cdpRunIdentityResolutionRuns a Data 360 identity resolution process. This value is available in API version 57.0 and later. chatCreates a Salesforce Anywhere chat. This value is available in API version 49.0 and later. chatterPostPosts to Chatter. choosePricebookSelects a price book. contactRequestActionCreates a contact request record. This value is available in API version 45.0 and later. componentInvokes the Lightning component that implements the lightning:availableForFlowActions interface and that is referenced by actionName. This value is available in API version 43.0 and later. contentWorkspaceEnableFoldersEnables folders in a library. convertAttributesToJsonConverts the given attributes into a JSON string format. This value is available in API version 64.0 and later. copyQuipDocumentCreates a copy of an existing Quip document, spreadsheet, or slide, and gives it a new title. This value is available in API version 46.0 and later. createDraftFromOnlineKnowledgeArticleCreates a draft from a published knowledge article. This value is available in API version 45.0 and later. createInvoiceFromFulfillmentOrderCreates an invoice from a purchase order. Available to B2B Commerce. This value is available in API version 49.0 and later. createQuipChatCreates a Quip chat room. This value is available in API version 46.0 and later. createQuipDocumentCreates a Quip document, spreadsheet, or slide. This value is available in API version 46.0 and later. createQuipFolderCreates a Quip folder. This value is available in API version 46.0 and later. customNotificationActionSends a custom notification. This value is available in API version 46.0 and later. deactivateSessionPermSetDeactivates a session-based permission set for the running user. deleteKnowledgeArticleDeletes a draft version (translation or master-language) or an entire archived knowledge article. This value is available in API version 46.0 and later. dynamicSendSurveyInvitationSends customized notifications to users about important events or updates to the records that theyre working on. This value is availa
"required": true
}
},
"StrategyActionArg": {
"name": {
"type": "string",
"description": "Unique name for the parameter to pass to the invocable action.",
"required": true
},
"value": {
"type": "string",
"description": "A Salesforce formula expression that is evaluated with the result being used as the parameter value for the Strategy Action.",
"required": true
}
},
"StrategyNodeUnionBase": {
"limit": {
"type": "int",
"description": "Maximum number of results to output."
}
},
"StrategyNodeFilter": {
"expression": {
"type": "string",
"description": "A formula expression that results in a boolean value when executed on each recommendation in the nodes input. Inputs that result in true form the output, and inputs that result in false are excluded.",
"required": true
}
},
"StrategyNodeIf": {
"childNodeExpression": {
"type": "IfExpression[]",
"description": "Array of if expressions."
},
"onlyFirstMatch": {
"type": "boolean",
"description": "If true, selects only the results from the matching child. If false, selects and combines results from all matching children. The default value is false."
}
},
"IfExpression": {
"childName": {
"type": "string",
"description": "Name of child to match.",
"required": true
},
"expression": {
"type": "string",
"description": "Formula expression returning true or false.",
"required": true
}
},
"StrategyNodeInvocableAction": {
"action": {
"type": "string",
"description": "The name of the invocable action to execute.",
"required": true
},
"argument": {
"type": "StrategyNodeInvocableActionArg[]",
"description": "List of arguments that are passed to the invocable action."
},
"isGenerator": {
"type": "boolean",
"description": "If true, the UI displays the Generate element. If false, the UI displays the Enhance element. Defaults to false.",
"required": true
},
"type": {
"type": "InvocableActionType (enumeration of type string)",
"description": "The action type. Valid values are: activateSessionPermSetActivates a session-based permission set for the running user. activationSchema Gets the activation schema for the specified activation. This value is available in API version 64.0 and later. addMessageToChatAdds a message to an existing Salesforce Anywhere chat. This value is available in API version 49.0 and later. addMessageToQuipChatAdds a Quip message to an existing chat room. This value is available in API version 46.0 and later. addMessageToQuipDocumentAdds a Quip message to an existing Quip document, spreadsheet, or slide. This value is available in API version 46.0 and later. addQuipDocumentToFolderAdds an existing Quip document, spreadsheet, or slide to an existing folder. This value is available in API version 46.0 and later. addUsersToChatAdds users to an existing Salesforce Anywhere chat. This value is available in API version 49.0 and later. addUsersToQuipDocumentAdds users, identified by their email addresses, to an existing Quip document, spreadsheet, or slide. This value is available in API version 46.0 and later. addUsersToQuipChatAdds users, identified by their email addresses, to an existing Quip chat room. This value is available in API version 46.0 and later. answerQuestionsWithSalesforceDocumentationSearches Salesforce documentation to provide answer to questions, as well as links to relevant articles. attachQuipDocumentToRecordAttaches a Quip document, spreadsheet, or slide to a Salesforce record. This value is available in API version 46.0 and later. apexInvokes an Apex method that has the @invocableMethod annotation. archiveKnowledgeArticlesArchives a list of published Knowledge articles. This value is available in API version 45.0 and later. assignKnowledgeArticlesMass assigns knowledge articles from article list views. This value is available in API version 44.0 and later. cdpRunIdentityResolutionRuns a Data 360 identity resolution process. This value is available in API version 57.0 and later. chatCreates a Salesforce Anywhere chat. This value is available in API version 49.0 and later. chatterPostPosts to Chatter. choosePricebookSelects a price book. contactRequestActionCreates a contact request record. This value is available in API version 45.0 and later. componentInvokes the Lightning component that implements the lightning:availableForFlowActions interface and that is referenced by actionName. This value is available in API version 43.0 and later. contentWorkspaceEnableFoldersEnables folders in a library. convertAttributesToJsonConverts the given attributes into a JSON string format. This value is available in API version 64.0 and later. copyQuipDocumentCreates a copy of an existing Quip document, spreadsheet, or slide, and gives it a new title. This value is available in API version 46.0 and later. createDraftFromOnlineKnowledgeArticleCreates a draft from a published knowledge article. This value is available in API version 45.0 and later. createInvoiceFromFulfillmentOrderCreates an invoice from a purchase order. Available to B2B Commerce. This value is available in API version 49.0 and later. createQuipChatCreates a Quip chat room. This value is available in API version 46.0 and later. createQuipDocumentCreates a Quip document, spreadsheet, or slide. This value is available in API version 46.0 and later. createQuipFolderCreates a Quip folder. This value is available in API version 46.0 and later. customNotificationActionSends a custom notification. This value is available in API version 46.0 and later. deactivateSessionPermSetDeactivates a session-based permission set for the running user. deleteKnowledgeArticleDeletes a draft version (translation or master-language) or an entire archived knowledge article. This value is available in API version 46.0 and later. dynamicSendSurveyInvitationSends customized notifications to users about important events or updates to the records that theyre working on. This valu
"required": true
}
},
"StrategyNodeInvocableActionArg": {
"name": {
"type": "string",
"description": "Unique name for the parameter to pass to the invocable action. The name must match a parameter that's defined in the invocable action.",
"required": true
},
"value": {
"type": "string",
"description": "A Salesforce formula expression that is evaluated with the result used as the parameter value for the action.",
"required": true
}
},
"StrategyNodeRecommendationLimit": {
"filterMode": {
"type": "StrategyReactionType (enumeration of type string)",
"description": "Available reactions to filter out. The valid values are: Accepted Rejected"
},
"lookbackDuration": {
"type": "int",
"description": "Number of days to search back."
},
"maxRecommendationCount": {
"type": "int",
"description": "Maximum number of times recommendation has been accepted or rejected."
}
},
"StrategyNodeRecommendationLoad": {
"condition": {
"type": "RecommendationLoadCondition[]",
"description": "Array of conditions specifying which recommendations to load."
},
"conditionLogic": {
"type": "string",
"description": "Logic to combine conditions, either AND or OR. All conditions are combined (not mixed). For example: Cond1 AND Cond2 AND Cond3."
},
"object": {
"type": "string",
"description": "Specifies the API name of the sObject from which recommendations are loaded. For example, the field references Account or MyCustomObject__c and not a specific record of that object. Available in API version 48.0 and later.",
"required": true
},
"sortField": {
"type": "StrategyNodeSortField",
"description": "The field to sort on. Available in API version 48.0 and later."
}
},
"RecommendationLoadCondition": {
"field": {
"type": "string",
"description": "Any field from Recommendation BPO (SOAP) object.",
"required": true
},
"operator": {
"type": "RecommendationConditionOperator (enumeration of type string)",
"description": "Valid values are: EQUALS GREATER_THAN GREATER_THAN_OR_EQUAL_TO LESS_THAN LESS_THAN_OR_EQUAL_TO NOT_EQUALS LIKE STARTS_WITH ENDS_WITH= CONTAINS",
"required": true
},
"value": {
"type": "RecommendationConditionValue",
"description": "Constant value to use in query.",
"required": true
}
},
"RecommendationConditionValue": {
"type": {
"type": "RecommendationConditionValueType (enumeration of type string)",
"description": "Valid values are: TEXT NUMBER BOOLEAN DATE DATE_TIME TIME",
"required": true
},
"value": {
"type": "string",
"description": "The constant value.",
"required": true
}
},
"StrategyNodeSortField": {
"name": {
"type": "string",
"description": "Name of the field to sort.",
"required": true
},
"nullsFirst": {
"type": "boolean",
"description": "If true, null values are sorted to the beginning of the list. Defaults to false."
},
"order": {
"type": "SortOrder (enumeration of type string)",
"description": "Order in which the list is sorted. Defaults to Asc. Valid values are: Asc (ascending) Desc (descending)"
}
},
"StrategyNodeSort": {
"field": {
"type": "StrategyNodeSortField",
"description": "Field to sort on.",
"required": true
}
},
"StrategyNodeMap": {
"mapExpression": {
"type": "MapExpression[]",
"description": "List of MaxExpressions."
}
},
"MapExpression": {
"expression": {
"type": "string",
"description": "A formula expression that results in a valid value supported by the data type specified in the type field.",
"required": true
},
"name": {
"type": "string",
"description": "Recommendation field name that the expression sets the value for.",
"required": true
},
"type": {
"type": "string",
"description": "The data type of the value resulting from the value in the expression field. Valid values are: BOOLEAN CURRENCY DATE DOUBLE DATE_TIME INTEGER LONG PERCENT TEXT TIME",
"required": true
}
}
},
"wsdl_segment": "```xml\n<xsd:complexType name=\"IfExpression\">\n <xsd:sequence>\n <xsd:element name=\"childName\" type=\"xsd:string\"/>\n <xsd:element name=\"expression\" type=\"xsd:string\"/>\n </xsd:sequence>\n</xsd:complexType>\n<xsd:simpleType name=\"InvocableActionType\">\n <xsd:restriction base=\"xsd:string\">\n <xsd:enumeration value=\"selfResetPassword\"/>\n <xsd:enumeration value=\"getContextualBrandInformation\"/>\n <xsd:enumeration value=\"getContextualBrandKnowledge\"/>\n <xsd:enumeration value=\"getBrandRecommendations\"/>\n <xsd:enumeration value=\"updateAiGenActionItem\"/>\n <xsd:enumeration value=\"sendSalesAgentNtfcnInSlack\"/>\n <xsd:enumeration value=\"adjustedSchedules\"/>\n <xsd:enumeration value=\"createRelaRecordsAdQuoteLine\"/>\n <xsd:enumeration value=\"getAvailableAppointmentSlots\"/>\n <xsd:enumeration value=\"getAgentContextDetails\"/>\n <xsd:enumeration value=\"enteredJourneyBuilder\"/>\n <xsd:enumeration value=\"exitedJourneyBuilder\"/>\n <xsd:enumeration value=\"metJourneyBuilderGoal\"/>\n <xsd:enumeration value=\"getUpdtTermsForPymtDueDateMod\"/>\n <xsd:enumeration value=\"getUpdtTermsForPaymentDeferral\"/>\n <xsd:enumeration value=\"createMediaProposalItem\"/>\n <xsd:enumeration value=\"getMediaProducts\"/>\n <xsd:enumeration value=\"getPicklistValues\"/>\n <xsd:enumeration value=\"getMediaProductsUseSearchCrit\"/>\n <xsd:enumeration value=\"sendInvSlotReleaseWarningNotfy\"/>\n <xsd:enumeration value=\"executeExternalAdSalesRequest\"/>\n <xsd:enumeration value=\"releaseInventorySlots\"/>\n <xsd:enumeration value=\"getPrdctForMediaChannels\"/>\n <xsd:enumeration value=\"addProductToMediaPlan\"/>\n <xsd:enumeration value=\"filterAdSpaceCreatives\"/>\n <xsd:enumeration value=\"convertJsonIntoObjectRec\"/>\n <xsd:enumeration value=\"createAssetWithActivity\"/>\n <xsd:enumeration value=\"updateAssetWithActivity\"/>\n <xsd:enumeration value=\"retrieveItamPortalSiteUrl\"/>\n <xsd:enumeration value=\"validateItAsset\"/>\n <xsd:enumeration value=\"docExtractionValidationRequest\"/>\n <xsd:enumeration value=\"createDisposalOrderLineItems\"/>\n <xsd:enumeration value=\"getSortingRulesGroundingData\"/>\n <xsd:enumeration value=\"getBoostBuryGroundingData\"/>\n <xsd:enumeration value=\"getDynamicCatGroundingData\"/>\n <xsd:enumeration value=\"apex\"/>\n <xsd:enumeration value=\"chatterPost\"/>\n <xsd:enumeration value=\"ciImpactAssociation\"/>\n <xsd:enumeration value=\"findProviders\"/>\n <xsd:enumeration value=\"findProvidersInfo\"/>\n <xsd:enumeration value=\"getWaitlistParticipant\"/>\n <xsd:enumeration value=\"getWaitlistMetadata\"/>\n <xsd:enumeration value=\"bookAppointment\"/>\n <xsd:enumeration value=\"parseEbvFhirResponse\"/>\n <xsd:enumeration value=\"contentWorkspaceEnableFolders\"/>\n <xsd:enumeration value=\"emailAlert\"/>\n <xsd:enumeration value=\"emailSimple\"/>\n <xsd:enumeration value=\"externalService\"/>\n <xsd:enumeration value=\"externalConnector\"/>\n <xsd:enumeration value=\"externalEvent\"/>\n <xsd:enumeration value=\"salesforceAPIPlatform\"/>\n <xsd:enumeration value=\"namedQuery\"/>\n <xsd:enumeration value=\"auraEnabled\"/>\n <xsd:enumeration value=\"flow\"/>\n <xsd:enumeration value=\"flowQueueStats\"/>\n <xsd:enumeration value=\"exitIndividualsFromFlow\"/>\n <xsd:enumeration value=\"agxFlow\"/>\n <xsd:enumeration value=\"metricRefresh\"/>\n <xsd:enumeration value=\"quickAction\"/>\n <xsd:enumeration value=\"submit\"/>\n <xsd:enumeration value=\"thanks\"/>\n <xsd:enumeration value=\"thunderResponse\"/>\n <xsd:enumeration value=\"createServiceReport\"/>\n <xsd:enumeration value=\"deployOrchestration\"/>\n <xsd:enumeration value=\"createResponseEventAction\"/>\n <xsd:enumeration value=\"sfdcOutputAction\"/>\n <xsd:enumeration value=\"invokeOrchOutputFlow\"/>\n <xsd:enumeration value=\"generateWorkOrders\"/>\n <xsd:enumeration value=\"deactivateSessionPermSe
"declarative_metadata_sample_definition": [
{
"description": "The following is an example of a RecommendationStrategy component that references the previous definition.",
"code": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<RecommendationStrategy xmlns=\"http://soap.sforce.com/2006/04/metadata\">\n <contextRecordType>Asset</contextRecordType>\n <description>Hills Brothers Coffee strategy to handle machine down incidents</description>\n <if>\n <childNode>IfNoEscaladeOrBetterSupport</childNode>\n <childNode>IfModel</childNode>\n <description>If Machine Down</description>\n <label>RootNode</label>\n <name>RootNode</name>\n <childNodeExpression>\n <childName>IfModel</childName>\n <expression>ISPICKVAL($Record.Status, &quot;OutOfOrder&quot;)</expression>\n </childNodeExpression>\n <childNodeExpression>\n <childName>IfNoEscaladeOrBetterSupport</childName>\n <expression>ISPICKVAL($Record.Status, &quot;OutOfOrder&quot;)</expression>\n </childNodeExpression>\n <onlyFirstMatch>false</onlyFirstMatch>\n </if>\n <if>\n <childNode>LoadEscalade</childNode>\n <description>If Customer does not have escalade support plan</description>\n <label>IfNoEscaladeOrBetterSupport</label>\n <name>IfNoEscaladeOrBetterSupport</name>\n <childNodeExpression>\n <childName>LoadEscalade</childName>\n <expression>NOT(ISPICKVAL($Record.Account.SLA__c, &quot;Gold&quot;) || ISPICKVAL($Record.Account.SLA__c, &quot;Platinum&quot;))</expression>\n </childNodeExpression>\n <onlyFirstMatch>false</onlyFirstMatch>\n </if>\n <if>\n <childNode>LoadMiniDiagnostic</childNode>\n <childNode>LoadMaxiDiagnostic</childNode>\n <description>If Machine Model switch node</description>\n <label>IfModel</label>\n <name>IfModel</name>\n <childNodeExpression>\n <childName>LoadMiniDiagnostic</childName>\n <expression>$Record.Product2.Name == &quot;Mini Coffee Roaster&quot;</expression>\n </childNodeExpression>\n <childNodeExpression>\n <childName>LoadMaxiDiagnostic</childName>\n <expression>$Record.Product2.Name == &quot;Maxi Coffee Roaster&quot;</expression>\n </childNodeExpression>\n <onlyFirstMatch>false</onlyFirstMatch>\n </if>\n <label>HillsBrothersCoffee</label>\n <recommendationLoad>\n <description>Load upgrade to escalade support plan</description>\n <label>LoadEscalade</label>\n <name>LoadEscalade</name>\n <condition>\n <field>Name</field>\n <operator>EQUALS</operator>\n <value>\n <type>TEXT</type>\n <value>Upgrade your Maintenance Package</value>\n </value>\n </condition>\n <conditionLogic>and</conditionLogic>\n </recommendationLoad>\n <recommendationLoad>\n <description>Load Mini Coffee Roaster Diagnostic Troubleshooting proposition</description>\n <label>LoadMiniDiagnostic</label>\n <name>LoadMiniDiagnostic</name>\n <condition>\n <field>Name</field>\n <operator>EQUALS</operator>\n <value>\n <type>TEXT</type>\n <value>Mini Coffee Roaster Diagnostic Troubleshooting</value>\n </value>\n </condition>\n <conditionLogic>and</conditionLogic>\n </recommendationLoad>\n <recommendationLoad>\n <description>Load Maxi Coffee Roaster Diagnostic Troubleshooting proposition</description>\n <label>LoadMaxiDiagnostic</label>\n <name>LoadMaxiDiagnostic</name>\n <condition>\n <field>Name</field>\n <operator>EQUALS</operator>\n <value>\n <type>TEXT</type>\n <value>Maxi Coffee Roaster Diagnostic Troubleshooting</value>\n </value>\n </condition>\n <conditionLogic>and</conditionLogic>\n </recommendationLoad>\n <union>\n <childNode>RootNode</childNode>\n <label>Output</label>\n <name>Output</name>\n </union>\n <invocableAction>\n <action>MyI
}
]
}