Cisco WebEx¶
Table of Contents¶
Release Notes¶
Version |
Date |
Notes |
---|---|---|
1.1.1 |
8/2021 |
Rebuild app.zip |
1.1.0 |
2/2021 |
App Host Support |
1.0.0 |
8/2018 |
Initial Release |
Overview¶
Resilient Circuits Components for ‘fn_create_webex_meeting’
Key Features¶
This package provides a function that creates Cisco WebEx meeting host URL and attendee URL given the following parameters: meeting start and end time, meeting name and agenda and a WebEx password.
An example workflow is included that writes the host URL and attendee URL to an incident note as live links to access the meeting.
An example rule is included that activates an menu popup that prompts the user for a meeting start and end time and an optional meeting agenda and password.
Requirements¶
This app supports the IBM Resilient SOAR Platform and the IBM Cloud Pak for Security.
Resilient platform¶
The Resilient platform supports two app deployment mechanisms, App Host and integration server.
If deploying to a Resilient platform with an App Host, the requirements are:
Resilient platform >=
36.0.5634
.The app is in a container-based format (available from the AppExchange as a
zip
file).
If deploying to a Resilient platform with an integration server, the requirements are:
Resilient platform >=
36.0.5634
.The app is in the older integration format (available from the AppExchange as a
zip
file which contains atar.gz
file).Integration server is running
resilient_circuits>=30.0.0
.If using an API key account, make sure the account provides the following minimum permissions:
Name
Permissions
Org Data
Read
Function
Read
The following Resilient platform guides provide additional information:
App Host Deployment Guide: provides installation, configuration, and troubleshooting information, including proxy server settings.
Integration Server Guide: provides installation, configuration, and troubleshooting information, including proxy server settings.
System Administrator Guide: provides the procedure to install, configure and deploy apps.
The above guides are available on the IBM Knowledge Center at ibm.biz/resilient-docs. On this web page, select your Resilient platform version. On the follow-on page, you can find the App Host Deployment Guide or Integration Server Guide by expanding Resilient Apps in the Table of Contents pane. The System Administrator Guide is available by expanding System Administrator.
Cloud Pak for Security¶
If you are deploying to IBM Cloud Pak for Security, the requirements are:
IBM Cloud Pak for Security >= 1.4.
Cloud Pak is configured with an App Host.
The app is in a container-based format (available from the AppExchange as a
zip
file).
The following Cloud Pak guides provide additional information:
App Host Deployment Guide: provides installation, configuration, and troubleshooting information, including proxy server settings. From the Table of Contents, select Case Management and Orchestration & Automation > Orchestration and Automation Apps.
System Administrator Guide: provides information to install, configure, and deploy apps. From the IBM Cloud Pak for Security Knowledge Center table of contents, select Case Management and Orchestration & Automation > System administrator.
These guides are available on the IBM Knowledge Center at ibm.biz/cp4s-docs. From this web page, select your IBM Cloud Pak for Security version. From the version-specific Knowledge Center page, select Case Management and Orchestration & Automation.
Proxy Server¶
The app does support a proxy server.
Installation¶
Install¶
To install or uninstall an App or Integration on the Resilient platform, see the documentation at ibm.biz/resilient-docs.
To install or uninstall an App on IBM Cloud Pak for Security, see the documentation at ibm.biz/cp4s-docs and follow the instructions above to navigate to Orchestration and Automation.
App Configuration¶
The following table provides the settings you need to configure the app. These settings are made in the app.config file. See the documentation discussed in the Requirements section for the procedure.
Config |
Required |
Example |
Description |
---|---|---|---|
webex_email |
Yes |
|
Email address associated with WebEx account. |
webex_password |
Yes |
|
WebEx account password. |
webex_site |
Yes |
|
WebEx Hostedname. |
webex_site_url |
Yes |
|
WebEx URL. |
webex_timezone |
Yes |
|
Timezone in which meeting is created. |
Function - Create WebEx Meeting¶
Creates a webex meeting and returns the host URL and the attendee URL for meeting access.
Inputs:
Name |
Type |
Required |
Example |
Tooltip |
---|---|---|---|---|
|
|
No |
|
Meeting agenda |
|
|
Yes |
|
- |
|
|
No |
|
Meeting name |
|
|
No |
|
Meeting password |
|
|
Yes |
|
- |
Outputs:
results = {
"version":"1.0",
"success":true,
"reason":"None",
"content":{
"status":"SUCCESS",
"host_url":"https://meet8.webex.com/meet8/j.php?MTID=m84f604b5194e7f10e384fe4043aafd",
"attendee_url":"https://meet8.webex.com/meet8/j.php?MTID=meb86e2013c2d82c3c9dea7b8b27253"
},
"raw":"{\"status\": \"SUCCESS\", \"host_url\": \"https://meet8.webex.com/meet8/j.php?MTID=m84f604b5194e7f10e384fe4043aafd\", \"attendee_url\": \"https://meet8.webex.com/meet8/j.php?MTID=meb86e2013c2d82c3c9dea7b8b27253\"}",
"inputs":{
"webex_meeting_name":"My Incident",
"webex_meeting_password":"abcxyzABC!!!",
"webex_meeting_start_time":1613797200000,
"webex_meeting_agenda":"",
"webex_meeting_end_time":1613797620000
},
"metrics":{
"version":"1.0",
"package":"fn-create-webex-meeting",
"package_version":"1.1.0",
"host":"MacBook-Pro.local",
"execution_time_ms":8725,
"timestamp":"2021-02-05 10:11:36"
}
}
Example Pre-Process Script:
# To set meeting name to the workflow inputs, uncomment the following lines
inputs.webex_meeting_name = incident.name
inputs.webex_meeting_start_time = inputs.webex_meeting_start_time if rule.properties.webex_meeting_start_time is None else rule.properties.webex_meeting_start_time
inputs.webex_meeting_end_time = inputs.webex_meeting_end_time if rule.properties.webex_meeting_end_time is None else rule.properties.webex_meeting_end_time
# Get the agenda from the activity field or the incident description
if rule.properties.webex_meeting_agenda is None:
if incident.description is not None and incident.description.content is not None:
inputs.webex_meeting_agenda = incident.description.content
else:
inputs.webex_meeting_agenda = ""
else:
inputs.webex_meeting_agenda = rule.properties.webex_meeting_agenda
inputs.webex_meeting_password = inputs.webex_meeting_password if rule.properties.webex_meeting_password is None else rule.properties.webex_meeting_password
Example Post-Process Script:
content = results.get("content")
if not results.success:
text = u"Unable to create Cisco WebEx Meeting"
fail_reason = content.get("fail_reason")
if fail_reason:
text = u"{0}:\n\tFailure reason: {1}".format(text, fail_reason)
else:
host_url = content.get("host_url")
attendee_url = content.get("attendee_url")
if host_url is None:
host_url = ""
if attendee_url is None:
attendee_url = ""
ref_html_host = u"""<a href='{0}'>Link</a>""".format(host_url)
ref_html_attendee = u"""<a href='{0}'>Link</a>""".format(attendee_url)
text = u"<b>Cisco WebEx Meeting Links:</b><br />Host URL: {0}<br />Attendee URL: {1}".format(ref_html_host, ref_html_attendee)
note = helper.createRichText(text)
incident.addNote(note)
Rules¶
Rule Name |
Object |
Workflow Triggered |
---|---|---|
Example: Create WebEx Meeting: Incident |
incident |
|
The example incident rule activates the following activity popup menu to allow the user to enter the WebEx meeting information:
¶
Troubleshooting & Support¶
Refer to the documentation listed in the Requirements section for troubleshooting information.
For Support¶
This is a IBM Community provided App. Please search the Community https://ibm.biz/soarcommunity for assistance.