> For the complete documentation index, see [llms.txt](https://cortex-docs.paloaltonetworks.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cortex-docs.paloaltonetworks.com/xsoar-6-administrator-guide/6.12/configure-cortex-xsoar/customize-and-configure-cortex-xsoar/playbooks/playbook-task-fields/communication-tasks/create-communication-task-authentication.md).

# Create Communication Task Authentication

To ensure that only authorized users gain access to the form you sent, configure user authentication for the communication task.

The main use case is for external users. These are users who are not users in Cortex XSOAR. Upon authentication, external users will have access only to the form that is sent to them. They will not be able to access anything else in Cortex XSOAR.

{% hint style="info" %}

### Note

If you are using Active Directory and after following these instructions you see the error message **could not find a provider to authenticate with**, go to Settings → About → **Troubleshooting** and add the following server configuration.
{% endhint %}

| Key                                     | Value                                    |
| --------------------------------------- | ---------------------------------------- |
| active.directory.auth.external.instance | `name of your Active Directory instance` |

1. Set up your idP (for example, Okta) with a dedicated group for your external users who you want to authenticate.
2. Create the authentication integration. Currently, Cortex XSOAR supports [SAML](https://xsoar.pan.dev/docs/reference/integrations/saml-20) and [Active Directory](https://xsoar.pan.dev/docs/reference/integrations/active-directory-authentication).

   * For the SAML integration, in the Service Provider Entity ID field, enter the URL of the server followed by /external-saml. For example, for external users: **`https://localhost:8443/external-saml`**.
   * For the Active Directory integration, enter the relevant groups for the external users.

   If using an engine to submit the form, use the URL of the engine, not the server.

   If using an engine in a mulit-tenant environment, add the following to the d1.conf file: **`saml.engine.redirect.to.<host name of the engine/host name of the server which the IDP redirects to>`**.
3. In the Task details of your communication task in your playbook, enable the **Require users to authenticate** option to have your SAML or AD authenticate the recipient before allowing them access to the form.

   ![playbook-comm-task-authenticate.png](/files/YcubG9IMrG79RruLSeiE)

   <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><h3>Note</h3><p>By default, validation is turned on, to confirm that the user listed in the <strong>To</strong> field matches the user accessing the form. If you need to send forms to multiple email addresses or to a distribution list, add the server configuration key <strong><code>external.form.validate.user</code></strong> with the value <strong><code>false</code></strong>. All users in the dedicated group are able to access the form, but individual email addresses are not validated.</p></div>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://cortex-docs.paloaltonetworks.com/xsoar-6-administrator-guide/6.12/configure-cortex-xsoar/customize-and-configure-cortex-xsoar/playbooks/playbook-task-fields/communication-tasks/create-communication-task-authentication.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
