> 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.13/learn-about-cortex-xsoar/onboarding-in-cortex-xsoar/marketplace/content-pack-contributions.md).

# Content Pack Contributions

Contributions are content packs that you create for the Cortex XSOAR marketplace, which are submitted to Cortex XSOAR for review and approval. After approval, these content packs are uploaded to the **Marketplace**, and are shared and installed like any other content pack. When creating new content such as playbooks, automations, 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](/xsoar-6-administrator-guide/6.13/learn-about-cortex-xsoar/onboarding-in-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 the Marketplace. You can add content from this list to a content pack. From the **CONTRIBUTIONS** tab in the Cortex XSOAR Marketplace, you can create, edit, submit, and delete content that you have submitted through the 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 the 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. For example, when adding a phishing playbook, the incident type and layout should be automatically added. This enables you to add a phishing dashboard.

**Validation**

Content validation enables users to improve the quality of the content they develop in Cortex XSOAR by running an automation 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. You can also create your own validation script and set the automation as the default by adding a server configuration. To add a server configuration, go to Settings → About → Troubleshooting → **Add Server Configuration**.

| Key                                                  | Description                                                                                 |
| ---------------------------------------------------- | ------------------------------------------------------------------------------------------- |
| content.item.validate.script                         | <p>Sets the automation used for Content Validation.</p><p>Value: name of the automation</p> |
| content.item.validate.script.use\_system\_proxy      | Sets whether the default automation uses the system proxy. Default is no.                   |
| content.item.validate.script.trust\_any\_certificate | Sets whether the default automation trusts any certificate. Default is no.                  |

**Automatic**

When contributing content, either from the Contributions page, the Contribution Pack Editor page or directly from a content item's drop-down 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.

![review-contribution-marketplace.png](/files/tJxbOZaerlY2CvZgA414)

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/PcsVNqjszXN3tCySS0Os)

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 Automation 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.


---

# 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.13/learn-about-cortex-xsoar/onboarding-in-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.
