> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://contentful.com/developers/docs/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://contentful.com/developers/docs/_mcp/server.

# GitHub Action

> GitHub Action to deploy Contentful apps

`@contentful/actions-app-deploy` is a custom GitHub Action to deploy a static Contentful app to Contentful App Hosting via GitHub Actions.

Try it by running `npx create-contentful-app --example typescript-github-action` in your terminal. This will automatically set up a new project with a configured GitHub Actions workflow.

## Usage

After building your app, add the following step to your existing GitHub Actions job:

```yaml
- uses: contentful/actions-app-deploy@v1
  with:
    organization-id: $&#123;&#123; secrets.ORGANIZATION_ID &#125;&#125;
    app-definition-id: $&#123;&#123; secrets.APP_DEFINITION_ID &#125;&#125;
    access-token: $&#123;&#123; secrets.ACCESS_TOKEN &#125;&#125;
    folder: build   
```

When the job is run, the files are automatically uploaded as an [`AppBundle`](/extensibility/app-framework/app-bundle) and promoted to the active bundle of the app definition. The new app is immediately served to all users.

## Parameters

The GitHub Action requires four parameters to run:

| Name                       | Description                                                                                                                                              |
| -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `organization-id`          | The id of the organization owning the app.                                                                                                               |
| `app-definition-id`        | The id of the app.                                                                                                                                       |
| `access-token`             | A personal access token for the Content Management API. Should be stored as a secret in your GitHub repository ( `Settings` -> `Secrets` -> `Actions` ). |
| `folder`                   | The folder which is deployed to Contentful App Hosting. Usually, this is the `build` folder.                                                             |
| `allow-tracking(optional)` | Flag that allows us to track the usage of the GitHub action. Accepted values can be either `true` or `false` , default value will be `true` .            |

## Resources

* [GitHub repository](https://github.com/contentful/actions-app-deploy)