> ## Documentation Index
> Fetch the complete documentation index at: https://docs.withampersand.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Dev and prod environments

You can create multiple projects per organization, so we recommend at least creating two projects:

* one for your production environment.
* one for your development environment, where you can test integrations before shipping them to customers.

You can deploy the same set of integrations to all of your projects by defining a single `amp.yaml` file. Then you can use the amp CLI to deploy it to all of your projects:

```bash theme={null}
amp login

# First deploy to dev
amp deploy my-integrations-folder --project=my-dev-project

# Promote to prod when you are ready
amp deploy my-integrations-folder --project=my-prod-project
```

Please note that for each of your projects, you will need to:

* Add Provider Apps to the Ampersand Dashboard. See [Provider Guides](/provider-guides/overview) for more details. <b>Do not reuse the same Provider App across projects</b>, as this will lead to OAuth tokens in one project being invalidated when the same SaaS credential is used to generate tokens in another project.
* Generate API keys for embedding UI components or for making API calls.
* Add [Destinations](/destinations) to the Ampersand Dashboard if you have any read actions.

## Destination names

You should use the same names for the webhook destinations in each of your projects. For example, `my-dev-project` can have a `hubspotWebhook` which has the URL `https://www.my-dev-webhook.com`, and `my-prod-project` can have a `hubspotWebhook` which has the URL `https://www.my-prod-webhook.com`. Then in my `amp.yaml` file, my integration will be defined as follows:

```yaml theme={null}
specVersion: 1.0.0
integrations: 
  - name: readHubspotContacts
    provider: hubspot
    module: crm
    read:
      objects:
        - objectName: contact
          # In dev, webhook messages will go to `https://www.my-dev-webhook.com`,
          # In prod, they will go to `https://www.my-prod-webhook.com`.
          destination: hubspotWebhook
          ...
```

## Deploy to multiple environments with Github Action

With the [official Ampersand Github Action](https://github.com/marketplace/actions/official-ampersand-github-action), you can automate promotions between your different environments. Here is a [sample Github workflow](https://github.com/amp-labs/demo-hubspot-apollo/blob/main/.github/workflows/amp_deploy.yml) that deploys to a dev project on commits to a Pull Request, and deploys to a prod project once a Pull Request is merged to the main branch.
