# Possible integrations

## Various possible integrations

### Wordpress

Dydu offers a Wordpress plugin: [dyduPress](https://wordpress.org/plugins/dydupress/#description). This plugin allows the integration and thus the provision of its chatbot dydu on its wordpress site.

Download the plugin files in the /wp-content/plugins/dydupress directory, or install the plugin directly via the WordPress plugins screen.

Once the plugin is installed, enter the URL of your chatbox in the plugin settings and save your changes.

Your chatbox is ready to be used in your WordPress.

### ServiceNow

It is possible to integrate your dydu chatbot into your Service Now instance. This integration is done through the creation and use of a Service Now widget. You can follow the video tutorial below to integrate your chatbot on ServiceNow

{% embed url="<https://youtu.be/L2Y87nR0Blw>" %}

### Sharepoint Online

You can integrate your Dydu chatbot into SharePoint using an extension provided by Dydu.

**Requirements for integration:**

* Dydu application name on SharePoint
* Description
* Icon
* Screenshots
* Client name
* CV5 (Chatbox) URL

Once provided, you will receive an `.sppkg` package installable via the SharePoint interface. The dialog box will then display just as it does on a standard website.

{% hint style="warning" %}
**Required Configuration: SharePoint CSP Restrictions**

For chatboxes deployed on SharePoint sites, Content Security Policy (CSP) restrictions imposed by Microsoft require specific settings.

To ensure the chatbox functions correctly, the following points must be verified:

* Authorization of trusted script sources: The SharePoint site must authorize scripts to run from the link hosting the chatbox.
  * For SaaS: Authorize `https://cdn.doyoudreamup.com`. The site must also authorize trusted scripts from `https://node1.cdn.dydu-priv.com`, `https://node2.cdn.dydu-priv.com`, and `https://node3.cdn.dydu-priv.com`.
  * For other cases: Authorize the link of the specific CDN being used.
* configuration.json settings: In the chatbox files, the `application -> cdn` parameter must be set to:
  * Either the link hosting the chatbox (`https://cdn.doyoudreamup.com`, etc.).
  * Or an entirely different link, but be aware that this link must also be added to the SharePoint trusted links list to authorize script execution.
    {% endhint %}

<figure><img src="/files/EoohelW3uP4Toj9zg7fR" alt=""><figcaption></figcaption></figure>

## Content Security Policy (CSP) Integration

When integrating the chatbox onto a page that defines a [Content Security Policy (CSP)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP), the following modifications are necessary to ensure the solution functions as expected:

### Script Integration with a `nonce` Attribute

The chatbox loading script must be integrated by defining a `nonce` attribute. This nonce (number used once) can be static or dynamic; the crucial requirement is that the defined value must be strictly identical to the value subsequently reported in the CSP header.

Example of script integration:

```
<script nonce="dydu" src="[url_cdn]"></script>
```

### Adaptation of CSP Directives

The Content Security Policy (CSP) must be adapted by adding the *nonce* and the required Dydu (or equivalent) URLs, categorized by directive.

Key elements to integrate:

* `script-src`: Adding `'strict-dynamic'` is mandatory. It authorizes script execution via the *nonce* attribute and allows the authorized scripts to load their dependencies.
* `style-src`: Requires `'unsafe-inline'` for the chatbox to apply its styles.
* `connect-src`, `img-src`, `font-src`: Must be configured to authorize communication with the solution's server URL (`https://[url_server]`) as well as the CDN URL (`https://cdn.doyoudreamup.com`).

Complete CSP Meta Tag Example (to be adapted):

```
<meta http-equiv="Content-Security-Policy"
      content="default-src 'self';
               script-src 'nonce-dydu' 'strict-dynamic';
               style-src 'unsafe-inline';
               connect-src https://[url_server]/servlet/api https://cdn.doyoudreamup.com;
               img-src data: https://[url_server] https://cdn.doyoudreamup.com;
               font-src https://[url_server] https://cdn.doyoudreamup.com;
               "
/>
```

{% hint style="info" %}
The URL `https://[url_server]` in the example must be replaced by your specific server URL (e.g., `https://app1.earth.doyoudreamup.com`). The link `https://cdn.doyoudreamup.com` is common to all integrations and must not be modified.
{% endhint %}

## Accessibility of the chatbox

The dydu chatboxes also respect the RGAA accessibility standards in terms of:

* Content
* navigation within the chatbox.

The RGAA standards have been integrated so that the design of the chatbox is compliant. However, the responsibility for compliance with these standards is ultimately the client's, as this same design can be customised through the dyduBox.

The default chatbox (without customisation) is designed to comply with these standards. In addition, dydu provides its customers with dedicated documentation to assist them in making the design compliant. There are two types of elements in the chatbox:

* elements already present in the HTML code of the chatbox (supported by dydu),
* elements that will be added when customising the chatbot (at the client's expense)

## Chatbox & responsive design

The chatbox is responsive: it adapts to the size of the screen used, whether the end user is on a website or an application. The display can be customised according to the user's device (mobile, tablet, desktop) and operating system (iOS, Android).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs-en.dydu.ai/integration/channels/advanced-customization/possible-integrations.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
