vania-janet/multiturn-rag-retrieval-data huggingface dataset:
curl ’https://<region>.monitoring.cloud.ibm.com/api/notificationChannels' --header ‘Authorization: Bearer <token>’ | jq

In the output, note the additionalHeaders.X-Auth-Token field is added to the notification channel.

{
"notificationChannel":
{
"id": 123,
....
"options": {
"notifyOnOk": true,
"url": "https://mh-<id>.private.us-south.messagehub.appdomain.cloud/topics/kafka-java-console-sample-topic/records",
"notifyOnResolve": true,
"additionalHeaders": {
"X-Auth-Token": "123456123456123456123456123465123456"
...
14. [Set up an alert](https://cloud.ibm.com/docs/monitoring?topic=monitoring-alerts) that uses the webhook notification channel that you created for Event Streams.



Now, when an alert is triggered from Event Streams, you can review the details in your Monitoring instance.
state: This field is only for maintenance and notifications. See the following possible values:



* Values for Maintenance states: Planned, In progress, Completed, Canceled, Failed
* Values for Incident states: New issue, Investigating, Resolved



title: The title field tells you what the notification is about. This field is configured to support more languages, although only English is supported currently.

startTime, endTime: You can check when the event starts, and when it ends.

The startTime and endTime fields show the start time and end time of the event in Unix Coordinated Universal Time timestamps.

Fields that are sent inside the payload can be either required or optional. Optional fields, for example startTime, are passed if the notification has this type of information, and aren't be passed if the notification does not have it. Required fields, for example category, are passed in all cases. The following table lists which fields are required and which ones are optional:



Table 1. Fields in a payload

 Field Required or optional 

 account_id: account_id Required 
 category: notification.category Required 
 title: notification.title Required 
 startTime: notification.startTime Optional 
 endTime: notification.endTime Optional 
 updateTime: notification.updateTime Optional 
 body: notification.body Required 
 state: notification.state Optional 
 sourceID: notification.sourceID Optional 
 regions: notification.regions Optional 
 continentNames: notification.continentNames Optional 
 regionNames: notification.regionNames Optional 
 componentNames: notification.componentNames Optional 
 subCategory: notification.subCategory Optional 
 severity: notification.severity Optional 



There might be extra fields added in the future without a major version change. This means that any code that is processing notifications should be prepared to ignore the fields that it does not recognize.





 Adding webhooks to a distribution list 

To add webhooks to a distribution list, complete the following steps:



1. Go to Manage > Account > Notification distribution list in the IBM Cloud® console.
2. Click Add, and select Add webhook.
3.
Validation validation 
 Browser integrity check bic 
 Hot link protection hot 
 User agent block uablock 
 Zone lockdown zonelockdown 
 IP range access rules iprange 
 ASN IP access rules asn 
 Custom firewall firewallCustom 
 Managed firewall firewallManaged 
 Data loss prevention dlp 







 Universal SSL alert command 

To configure a Universal SSL alert, use the following command:

curl -X POST https://api.cis.cloud.ibm.com/v1/:crn/alerting/policies -H 'content-type: application/json' -H 'x-auth-user-token: Bearer xxxxxx' -d '{"name":"Example Policy","enabled":true,"alert_type":"universal_ssl_event_type","mechanisms":{"email":[{"id":"cistestemail@ibm.com"}],"webhooks":[]}}'

Where:



* -d is the array of attributes required to create the alert.



* name is the name of the alert.
* enabled is the state of the alert (one of true, false).
* alert_type is the type of the alert (one of dos_attack_l7, load_balancing_pool_enablement_alert, clickhouse_alert_fw_anomaly, clickhouse_alert_fw_ent_anomaly, dedicated_ssl_certificate_event_type, universal_ssl_event_type, or load_balancing_health_alert).
* mechanisms is at least one of email, webhooks.
* description (optional) is the description of the alert.









 Load balancing health check alert command 

To configure a load balancing health check alert, use the following command:
* UI
* CLI
* API







 Configuring webhooks 

IBM Cloud® Internet Services has alerts that you can configure through the API to warn you when events occur. Use webhooks to notify an external service when events occur in your account.

Alerts are available only to Enterprise plans.



 Configuring webhooks using the console 

To configure webhooks using the console, navigate to your Account page and select the Alerts tab. In the Alerts section, select the webhooks tab.



 Creating a webhook using the console 



1. Click Create.
2. Enter a name for your webhook.
3. Enter the webhook URL. This URL cannot be updated; if you want to change it, you must delete and recreate the webhook.
4. Enter the webhook secret. The secret cannot be updated; if you want to change it, you must delete and recreate the webhook.







 Editing a webhook using the console 

To edit a webhook using the console, click the pencil icon next to the name of the webhook you want to update. You can only edit the name of the webhook. If you need to modify a webhook, it is recommended that you delete and recreate the webhook instead of editing it.





 Deleting a webhook using the console 

To delete a webhook using the console, click the overflow menu ![overflow icon](https://cloud.ibm.com/docs-content/v1/content/cb1eb27836421578019401fa7556779109430b29/cis//images/horizontal-overflow-icon.png) of the webhook you want to delete, and select Delete. Select Delete in the confirmation box to confirm, or Cancel to close the confirmation box without completing the delete operation.







 Configuring webhooks using the CLI 



 Creating a webhook using the CLI
curl -X POST https://api.cis.cloud.ibm.com/v1/:crn/alerting/destinations/webhooks -H 'content-type: application/json' -H 'x-auth-user-token: Bearer xxxxxx' -d '{"name":"Example Webhook","url":"https://hooks.slack.com/services/Ds3fdBFbV/456464Gdd"}'

The following response is returned:

{
"result": {
"id": "6d16fcab3e8044b3b59ba3716237832e"
},
"success": true,
"errors": [],
"messages": []
}
2. Use the ID in the response that you receive to create the alert:

curl -X POST https://api.cis.cloud.ibm.com/v1/:crn/alerting/policies -H 'content-type: application/json' -H 'x-auth-user-token: Bearer xxxxxx' -d '{"name":"Example Policy","enabled":true,"alert_type":"dos_attack_l7","mechanisms":{"email":[{"id":"cistestemail@ibm.com"}],"webhooks": [{"id": "6d16fcab3e8044b3b59ba3716237832e"}]}}'







 Editing alerts using the API 

To edit an email alert, run the following command:
To handle this message in your dialog, create a child node following the node that requested the action. You can condition this child node on the special condition true to ensure that it is always triggered by the message that the client sends after completing the requested action. In this child node, add the response to show the user, reading the stored action result from the $my_forecast context variable:

{
"output": {
"text": {
"values": [
"It will be $weather_forecast in $location.literal today."
]
}
}

For more information about how to implement the client side of this exchange, see [Implementing app actions](https://cloud.ibm.com/docs/assistant?topic=assistant-api-clientapi-client-implement-actions).
Sending SMS alerts using PagerDuty 

In the IBM Cloud Monitoring service, you can configure single alerts and multi-condition alerts to notify support staff about problems that might require attention. Using PagerDuty, these alerts can trigger SMS (short message service) messages.

To configure SMS notification using the PagerDuty On Call Service, do the following.



1.  [Configure the support user in PagerDuty who will receive SMS alert messages.](https://support.pagerduty.com/docs/configuring-a-user-profile)

Make sure a valid mobile number is provided for SMS in the user's Contact Information and that the Notification Rules for the user indicates that an SMS is to be sent to the mobile number. If these items are not configured correctly, the user will not receive SMS messages.
2.  [Configure a PagerDuty Escalation Policy](https://support.pagerduty.com/docs/escalation-policiessection-create-an-escalation-policy) and for Notify specify the user configured in the previous step.
3.  [After completing the prior steps, access IBM Cloud Monitoring and configure an IBM Cloud Monitoring notification channel that will send the desired alerts to PagerDuty.](https://cloud.ibm.com/docs/monitoring?topic=monitoring-notificationsnotifications_create)
4.  [Configure an IBM Cloud Monitoring alert to send to the configured notification channel.](https://cloud.ibm.com/docs/monitoring?topic=monitoring-alerts)
* mechanisms are at least one of email, webhooks.
* filters are the list of all services to monitor for security events and zones for the Advanced WAF alert.





You can monitor the following services:



Table 1. Services that can be monitored by Advanced WAF alerts

 Services Log value 

 Country IP access rules country 
 WAF waf 
 Firewall rules firewallrules 
 Rate limiting ratelimit 
 Security level securitylevel 
 IP access rules ip 
 Validation validation 
 Browser integrity check bic 
 Hot link protection hot 
 User agent block uablock 
 Zone lockdown zonelockdown 
 IP range access rules iprange 
 ASN IP access rules asn 
 Custom firewall firewallCustom 
 Managed firewall firewallManaged 
 Data loss prevention dlp 









 Editing alert policies by using the API 

To edit an email alert, run the following command:

curl -X PUT https://api.cis.cloud.ibm.com/v1/:crn/alerting/policies/:policy_id -H 'content-type: application/json' -H 'x-auth-user-token: Bearer xxxxxx' -d '{"name":"Example Policy","enabled":true,"alert_type":"dos_attack_l7","conditions":{},"mechanisms":{"email":[{"id":"cistestemail@ibm.com"}],"webhooks":[]}}'

The conditions field is required, even though it might be empty.





 Deleting alert policies by using the API 

To delete an email alert, run the following command:

curl -X DELETE https://api.cis.cloud.ibm.com/v1/:crn/alerting/policies/:policy_id -H 'content-type: application/json' -H 'accept: application/json' -H 'x-auth-user-token: Bearer xxxxxx'
Starting at the end of the list, click each request and view the Preview tab. If the request has an "errors" node, expand that node to show the full error.
4. Click the Response tab and include the full response string and the URL that generated the response.









 Creating a support case for non-UI issues 

Collect the following information to get a faster support case resolution for non-UI issues:



* guid
* sourceName
* region of the instance
* topicName (if the issue is related to a topic)
* channelName (if the issue is related to a channel)
* subscriptionName (if the issue is related to subscriptions)
* notification_id (if the issue is related to sending notification)
* Error message received
* Status of notification shown in LogDNA (in the case of notification sent but not received)
ibmcloud cis alert-policy firewall-events-alert-update a2633e68-1a64-2512-a321-b64a17c7db7a --name test1 --emails test1@cn.ibm.com --webhooks b2633e68-9a64-4519-b361-a64a67c8db8e --enabled true --domains d2633e61-1b61-2512-1321-b61a17c3db7e -i "cis-demo"
<-- </section "id="section-update-firewall-events-alert-examples" "> --><-- </section "id="section-update-firewall-events-alert" "> --><-- <section "id="section-update-certificate-alert" "> --> ibmcloud cis alert-policy certificate-alert-update Update an alert policy for certificate events. ibmcloud cis alert-policy certificate-alert-update POLICY_ID --name NAME (--emails EMAILS | --webhooks WEBHOOKS) --enabled (true | false) --description DESCRIPTION] -i, --instance INSTANCE] --output FORMAT] ! ! ! ! ! !
<-- <section "id="section-opt-update-certificate-alert" "> --> Command options POLICY_ID: The ID of alert policy. Required.--name: The name of the alert policy.--description: The description for the alert policy.--emails: The email addresses for dispatching an alert notification. For example: --emails test1@cn.ibm.com,test2@cn.ibm.com--webhooks: The webhook ID that for dispatching an alert notification. For example: --webhook webhookID1,webhookID2--enabled: Whether or not the alert policy is enabled.-i, --instance: Instance name or ID.
ibmcloud cis alert-policy ddos-attack-l7-alert-update POLICY_ID [--name NAME] [--emails EMAILS] [--webhooks WEBHOOKS] [--enabled (true | false)] [--description DESCRIPTION] [-i, --instance INSTANCE] [--output FORMAT]

Where:



* POLICY_ID is the ID of alert policy.
* --name value is the name of the alert policy.
* --description value is the description for the alert policy.
* --emails value is the email addresses for dispatching an alert notification. For example, --emails test1@cn.ibm.com,test2@cn.ibm.com.
* --webhooks value is the webhook IDs for dispatching an alert notification. For example, --webhooks webhookID1,webhookID2.
* --enabled value determines whether the alert policy is enabled.
* -i, --instance value is the instance name or ID.
* --output value specifies the output format; only JSON is supported.







 Updating a pool toggle alert policy by using the CLI 

To update a pool toggle alert policy by using the CLI, run the following command:

ibmcloud cis alert-policy pool-toggle-alert-update POLICY_ID [--name NAME] [--emails EMAILS] [--webhooks WEBHOOKS] [--enabled (true | false)] [--pools POOLS] [--trigger-condition (enabled | disabled | either)] [--include-future-pools (true | false)] [--description DESCRIPTION] [-i, --instance INSTANCE] [--output FORMAT]

Where:



* --name value is the name of the alert policy.
* --description value is the description for the alert policy.
* --emails value is the email addresses for dispatching an alert notification. For example, --emails test1@cn.ibm.com,test2@cn.ibm.com.
curl -X GET <REST_API_ENDPOINT>/api/alerts?from=<START_TIMESTAMP>&to=<END_TIMESTAMP> -H "Authorization: Bearer $AUTH_TOKEN" -H "IBMInstanceID: $GUID"

Where



* <REST_API_ENDPOINT> indicates the endpoint targetted by the REST API call. For more information, see [Monitoring REST API endpoints](https://cloud.ibm.com/docs/monitoring?topic=monitoring-endpointsendpoints_rest_api). For example, the public endpoint for an instance that is available in us-south is the following: https://us-south.monitoring.cloud.ibm.com/api
* You can pass multiple headers by using -H.

Authorization and IBMInstanceID are headers that are required for authentication. To get an AUTH_TOKEN and the GUID see, [Headers for IAM Tokens](https://cloud.ibm.com/docs/monitoring?topic=monitoring-mon-curlmon-curl-headers-iam).
* to and from are query parameters that you must define to configure the period of time for which you want information on the alerts.



For more information about the response format, see [Alert schema](https://cloud.ibm.com/docs/monitoring?topic=monitoring-alert_apialert-api-schema-res).





 Alerts schema: Request body 

{
"alerts": [
{
"alert": {
"version": null,
"name": "",
"description": null,
"teamId": null,
"enabled": false,
"filter": null,
"type": "",
"condition": "",
"timespan": 600000000,
"notificationChannelIds": ],
"reNotify": false,
"reNotifyMinutes": 30,
"segmentBy": ],
"segmentCondition": {
"type": ""
description = "Event Notifications service instanceId."
}

variable "destination_name" {
type = string
default = "Smart Home Android app"
description = "Destination name."
}

variable "destination_description" {
type = string
default = "Smart House device status"
description = "Description for the destination."
}

variable "webhook_type" {
default = "webhook"
type = string
description = "Type of the destination"
}

variable "webhook_verb" {
default = "POST"
type = string
description = "Type of verb fro the destination"
}

variable "webhook_URL" {
type = string
description = "URL of the webhook"
default = "https://hello.demo.com/hello"
}
Show more

The remaining files declare the resources to be deployed.





 instance.tf 

instance.tf provisions an Event Notifications instance.

resource "ibm_resource_instance" "terraform_demo" {
plan = "lite"
location = "us-south"
name = "terraform_demo"
service = "event-notifications"
}





 destinations.tf 

destinations.tf uses Event Notifications to create destinations.

resource "ibm_en_destination" "destination1" {
type = var.webhook_type
name = var.destination_name
description = var.destination_description
instance_guid = ibm_resource_instance.terraform_demo.guid
config {
params {
url = var.webhook_URL
verb = var.webhook_verb
custom_headers = {
"authorization" = "secure"
}
sensitive_headers = ["authorization"]
}
}
}
Show more





 topics.tf 

topics.tfuses Event Notifications to create topics.

resource "ibm_en_topic" "topic1" {
* [Querying Edge Functions metrics with GraphQL](https://cloud.ibm.com/docs/cis?topic=cis-graphql-edge-func)
* [Querying firewall events with GraphQL](https://cloud.ibm.com/docs/cis?topic=cis-graphql-firewall-events-example)



* Working with alerts



* [Configuring alert policies](https://cloud.ibm.com/docs/cis?topic=cis-configuring-policies)
* [Configuring webhooks](https://cloud.ibm.com/docs/cis?topic=cis-configuring-webhooks)
* [Creating alerts by type](https://cloud.ibm.com/docs/cis?topic=cis-create-alerts-by-type)



* Working with Bot management



* [About bot management](https://cloud.ibm.com/docs/cis?topic=cis-about-bot-mgmt)
* [Machine learning models](https://cloud.ibm.com/docs/cis?topic=cis-machine-learning-models)
* [JavaScript detections](https://cloud.ibm.com/docs/cis?topic=cis-javascript-detections)



* Enhancing security



* [Managing access for CIS](https://cloud.ibm.com/docs/cis?topic=cis-iam-and-cis)
* [Learning about CIS architecture and workload isolation](https://cloud.ibm.com/docs/cis?topic=cis-compute-isolation)
* [Securing your data in CIS](https://cloud.ibm.com/docs/cis?topic=cis-mng-data)
* [Auditing events for CIS](https://cloud.ibm.com/docs/cis?topic=cis-at_events)
Uploading intents and examples 

If you have a large number of intents and examples, you might find it easier to upload them from a comma-separated value (CSV) file than to define them one by one. Be sure to remove any personal data from the user examples that you include in the file.

Alternatively, you can upload a file with raw user utterances (from call center logs, for example) and let Watson find candidates for user examples from the data. For more information, see [Adding examples from log files](https://cloud.ibm.com/docs/assistant?topic=assistant-intent-recommendationsintent-recommendations-get-example-recommendations-task). This feature is available only to users of paid plans.



1. Collect the intents and examples into a CSV file, or export them from a spreadsheet to a CSV file. The required format for each line in the file is as follows:

<example>,<intent>

where <example> is the text of a user example, and <intent> is the name of the intent you want the example to match. For example:

Tell me the current weather conditions.,weather_conditions
Is it raining?,weather_conditions
What's the temperature?,weather_conditions
Where is your nearest location?,find_location
Do you have a store in Raleigh?,find_location

Important: Save the CSV file with UTF-8 encoding and no byte order mark (BOM).
2. From the Intents page, click the Upload icon ![Upload icon](https://cloud.ibm.com/docs-content/v1/content/417db917d18067d9dcc4cf2612564a9a87c3ddc8/assistant/images/upload.png).
3. Drag a file or browse to select a file from your computer.

Important: The maximum CSV file size is 10 MB. If your CSV file is larger, consider splitting it into multiple files and uploading them separately.
4. Click Upload.
By sending both application logs, such as general diagnostics and security-related information like failed logins to a single logging facility, you can aggregate the logs and perform security analysis in application context, across the full stack. You can use the queries as foundation for [defining alerts](https://cloud.ibm.com/docs/log-analysis?topic=log-analysis-alerts). Alerts help you to monitor your app and related services. You should [set up notification channels](https://cloud.ibm.com/docs/log-analysis?topic=log-analysis-alertsalerts_channels), so that once a defined event is detected, you get notified via e.g., email, Slack or PagerDuty.

Both Activity Tracker and Log Analysis support further restriction on the data captured using IAM-based groups. You can have users access the same instances, but only see data that is relevant to the application or services they are responsible for, you can review:



* Log Analysis: [Using groups to control data access](https://cloud.ibm.com/docs/log-analysis?topic=log-analysis-group_data_access)
* Activity Tracker: [Using groups to control data access](https://cloud.ibm.com/docs/activity-tracker?topic=activity-tracker-group_data_access)



You can also enable integration of select services with IBM Cloud Event Notifications. Define topics related to service events, then create topic-specific subscriptions for destinations such as emails, webhooks and others. When an event occurs, a message with or without the event payload is then sent out and could be directly reacted upon.





 Control encryption keys 

Almost all services on IBM Cloud that store data use encryption to protect the data against unauthorized access. When using database services or Object Storage, by default the encryption key is system-generated. You can increase data protection by controlling the encryption keys. IBM Key Protect and Hyper Protect Crypto Services help you provision encrypted keys for storage services as well as apps.
19 March 2020 

A Covid-19 content catalog is available
: The English-only content catalog defines a group of intents that recognize the common types of questions people ask about the novel coronavirus. The World Health Organization characterized COVID-19 as a pandemic on 11 March 2020. You can use the catalog to jump-start development of chatbots that can answer questions about the virus and help to minimize the anxiety and misinformation associated with it. For more information about how to add a content catalog to your skill, see [Using content catalogs](https://cloud.ibm.com/docs/assistant?topic=assistant-catalog).

Fixed a problem with missing User Conversation data
: A recent change resulted in no logs being shown in the User Conversations page unless you had a skill as the chosen data source. And the chosen skill had to be the same skill (with same skill ID) that was connected to the assistant when the user messages were submitted.





 18 March 2020 

Technology preview is discontinued
: The technology preview user interface was replaced with the Watson Assistant standard user interface. If you used an Actions page to create actions and steps for your skill previously, you cannot access the Actions page anymore. Instead, use the Intents and Dialog pages to work with your skill.





 16 March 2020 

Instructions updated for Slack integrations
: The steps required to set up a Slack integration have changed to reflect permission assignment changes that were made by Slack. For more information, see [Integrating with Slack](https://cloud.ibm.com/docs/assistant?topic=assistant-deploy-slack).

Order of response types is preserved
: Previously, if you included a response type of Search skill in a list of response types for a dialog node, the search results were displayed last despite its placement in the list. This behavior was changed to show the search results in the appropriate order, namely in the sequence in which the search skill response type is listed for the dialog node.





 10 March 2020 

Contextual entity support is generally available
: You can add contextual entities to English-language dialog skills.