SalesforceAskUser
Ask a user a question via Salesforce Chatter and process the reply directly into the investigation.
- Type
- python
- Pack
- Salesforce
Source
import demistomock as demisto # noqa: F401
from CommonServerPython import * # noqa: F401
def salesforce_ask_user():
retries = int(demisto.args().get("retries"))
persistent = demisto.args().get("persistent") == "true"
for _i in range(retries):
res = demisto.executeCommand("addEntitlement", {"persistent": persistent})
if isError(res[0]):
if "[investigations] [investigation] (15)" in res[0]["Contents"]:
time.sleep(1)
continue
return_error(res.Contents)
entitlement = res[0]["Contents"]
break
comment_suffix = f" - #{demisto.incidents()[0]['id']} {entitlement}"
task = demisto.args().get("task")
if task:
comment_suffix += f" #{task}"
text = demisto.args().get("text", "")
if not text:
option1 = demisto.args().get("option1")
option2 = demisto.args().get("option2")
text += "Please reply with either " + option1 + " or " + option2
additional_options = demisto.args().get("additionalOptions")
if additional_options:
additional_options_list = additional_options.split(",")
text += " or "
text += (" or ").join(additional_options_list)
text += "\n\nDemistoID: " + comment_suffix
oid = demisto.args().get("oid")
return oid, text
def main():
oid, text = salesforce_ask_user()
comment = demisto.executeCommand("salesforce-push-comment", {"oid": oid, "text": text})
demisto.results(comment)
if __name__ in ["__main__", "builtin", "builtins"]:
main()
README
Asks a user a question via Salesforce Chatter and process the reply directly into the investigation.
Script Data
| Name | Description |
|---|---|
| Script Type | python |
| Tags | - |
Dependencies
This script uses the following commands and scripts.
- salesforce-push-comment
Inputs
| Argument Name | Description |
|---|---|
| persistent | Indicates whether to use a one-time entitlement or a persistent one. |
| replyEntriesTag | The tags to add on comment reply entries. |
| retries | The number of times to try and create an entitlement when there is a failure. |
| task | The task that should be closed with the reply. If none, then no playbook tasks will be closed. |
| option1 | The first option for a user reply. Options cannot contain whitespaces. |
| option2 | The second option for the user reply. Options cannot contain whitespaces. |
| oid | The object ID of the subject. |
| additionalOptions | A comma delimited list of additional options (in cases where more than 2 options are needed). Options cannot contain whitespaces. |
| text | The text of the chatter comment. If not given, a default post message will be generated based on option arguments. |
| link | The link to add to the message. |
Outputs
There are no outputs for this script.