> 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/cortex-xsoar-8-saas/configure-cortex-xsoar/marketplace/content-pack-contributions.md).

# Content pack contributions

Contributions are content packs that you create for Cortex XSOAR Marketplace, which are submitted to Cortex XSOAR for review and approval. After approval, these content packs are uploaded to **Marketplace**, and are shared and installed like any other content pack. When creating new content such as playbooks, scripts, incident types, and integrations, or when updating content, you can:

* Create and submit content directly from Cortex XSOAR. For example, from a playbook, click **Contribute**. You then have the option to submit the contribution for review or download the contribution and upload it, for example, to GitHub.
* Submit a content pack of one or more items through the [Cortex XSOAR Marketplace UI](/cortex-xsoar-8-saas/configure-cortex-xsoar/marketplace/content-pack-contributions/create-a-content-pack.md). When you create or edit content in Cortex XSOAR, that content is added to the **Add Content** section in the **Contributions** tab in Marketplace. You can add content from this list to a content pack. From the **Contributions** tab in Cortex XSOAR Marketplace, you can create, edit, submit, and delete content that you have submitted through Marketplace.
* [Create a GitHub pull request](https://xsoar.pan.dev/docs/contributing/contributing#before-opening-a-pull-request) on the public XSOAR Content Repository.

Users with the **Contribute to Marketplace** permission can contribute content packs to Marketplace.

When adding content to the content pack, Cortex XSOAR scans the content and automatically adds dependencies, which ensures that the content pack installs and runs correctly on all environments.

Although Cortex XSOAR scans and tests the content to ensure it works correctly, you need to review the content to ensure that all dependencies are incorporated and work as they should in the event that not all dependencies are added automatically.

#### Validation

Content validation enables users to improve the quality of the content they develop in Cortex XSOAR by running a script to check for errors before submission.

**Configuration**

By default, content validation passes your content item(s) as inputs to the [ValidateContent](https://xsoar.pan.dev/docs/reference/scripts/validate-content) script included in the Base pack. The **ValidateContent** script uses the **`demisto-sdk`** utility to run **`validate`** and **`lint`** on the content item(s) and returns the results.

**Automatic**

When contributing content, either from the Contributions page, the Contribution Pack Editor page or directly from a content item's menu, the content goes through content validation before submission. After clicking **Contribute**, you have the option to **Save and submit your contribution** or **Save and download your contribution**. In both cases, your contribution goes through validation before you submit or download the content.

If the content pack passes validation, the process continues. If you are downloading the content, a download will start automatically. If you are submitting the content, the content will submit automatically. If the content pack does not pass validation, the validation issues are listed and you have the option to export a raw JSON file with the error details. You can then make changes to your content items and resubmit for validation.

You also have the option to skip the validation step or to contribute a content pack that does not pass validation. For example, there might be an issue you are aware of that cannot yet be resolved. For a large content pack, where you have already validated the individual content items, you might want to skip the final validation as it can be a lengthy process for a large content pack.

![validation-results-marketplace.png](/files/fICl7CL2dEQnpU4tL3nu)

You can also manually trigger content validation. The **Validate** button appears in the Contribution page, the Contribution Pack Editor page, as well as in both the Script and Integration Editors. With manual validation, you can check your content during the development process and make changes.

#### Review process

The review process consists of the Cortex XSOAR team checking that your contribution meets code, documentation, naming, and other standards. You receive a form to complete asking for more information, such as certification, contact details, etc. The Cortex XSOAR team will be in touch with you during the review process.

During the review process you may be asked to make changes in the code, or for more data, metadata, dependencies, documentation, support and certification model, etc. You can anonymize your name if required.

When your contribution is approved it is uploaded to **Marketplace** where other Cortex XSOAR users can view, download, and rate it. We encourage you to learn more about the [contribution process](https://xsoar.pan.dev/docs/contributing/contributing).


---

# 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/cortex-xsoar-8-saas/configure-cortex-xsoar/marketplace/content-pack-contributions.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.
