Skip to main content
A project is a group of resources that Designer uses when running your orchestration and transformation pipelines. From the Your projects menu, select a project, and then navigate between resource tabs to manage resources including:
  • Branches: used for collaborative working and version control using Git. Your default branch is main.
  • Environments: for configuring your connection to your data warehouse, and setting environment permissions for users.
  • Streaming: build streaming pipelines to capture the continuous data flow from supported sources in near real time and send it to your preferred cloud destination. To create and manage your streaming pipelines, read Create streaming pipeline and Manage streaming pipelines, respectively. You can also click View Features to access a dialog outlining the key capabilities of streaming pipelines in Maia. Additionally, you can reach out for support by filling out the Talk to an Expert form to contact sales.
  • Artifacts: view published versions of pipelines called ‘artifacts’ in each environment, and deploy artifacts to different environments.
  • Schedules: schedule your orchestration and transformation pipelines. All dates and times in the table use Greenwich Mean time (GMT) as its timezone. If you have set the time using a different timezone, view the individual schedule’s details for the selected timezone’s details.
  • Access: grant users access to your project.
  • Connections: create and manage secrets, OAuths, and cloud credentials.
  • Jobs Compute: run and schedule transformation pipelines on a Databricks Jobs Compute cluster.
  • Upgrade Assistant: migrate workloads from Matillion ETL to Maia.
Expand this box to watch our video explaining how to add and set up your first project.

Add a new project

By default, users are assigned the Owner role for any projects they create. For more information, read Project roles. To add a new project:
  1. Log in to Maia or register for an account.
  2. Select your account.
  3. In the left navigation, click .
  4. Click Add project and complete the following parameters.
    Some components may not be available, or may have limited functionality, on some data platforms. These limitations are noted in the relevant component documentation.
  5. Click Continue.
  6. Select how you would like your project to be configured.
    • Maia managed (quick setup): Maia sets up and manages your Git repository, secrets, and Maia runners for you. This deployment model is the default option.
    • Advanced settings (custom setup): Configure and optionally set up your own runner deployment (Full SaaS or Hybrid SaaS), and choose whether to host your Git repository with Maia or connect to a third-party Git repository. This option is suitable if you have specific requirements or constraints related to data residency, security, or network connectivity.
    Choosing Advanced settings is considered a “custom” configuration option.You can choose to connect to a third-party repository but use a Matillion-hosted Maia runner, and conversely choose the Hybrid SaaS deployment model of using the Maia runner in your organization’s cloud infrastructure while using a Maia-hosted Git repository.
    Some components may have limitations if using a Full SaaS project. These limitations are noted in the relevant component documentation.
  7. Click Continue.
To migrate a project’s Git repository to a different repository or Git provider without recreating the project, use the Repository Migration API.

Select runner deployment

The following instructions only apply if you selected Advanced settings.
  1. Select how you want to manage your Maia runner and secrets for this project:
  2. Click Continue.

Warehouse-specific setup

The steps to create your environment depend on the data platform you chose earlier.

Create an environment

  1. Create an environment by providing the following information:
    Maia runners can be restricted to specific projects and environments. If a Maia runner is not allowed for your project or environment, it will not appear in the Runner drop-down. For more information, read Restricting Maia runners.
  2. Click Continue.
  3. Specify your Snowflake credentials and select your data warehouse defaults — for details, read Environments.
  4. Click Continue if you selected Advanced settings, or click Finish if you selected Maia managed.

Select Git provider

The following instructions only apply if you selected Advanced settings. To use a third-party Git provider, you must install the Maia app for that provider — see the relevant prerequisites below.
  1. Select your Git provider.
    1. Maia Hosted Git: Maia will create and host the repository for your project.
    2. GitHub: Connect to one of your organization’s GitHub repositories. Read the following docs to get started:
      1. Prerequisites for connecting a GitHub repository to Maia
      2. Installing the Maia app in GitHub
      If you log in to GitHub using SSO, you are required to click Authorize and not Continue to authenticate to matillion-apps. Clicking Continue won’t complete the authorization properly, and you won’t be able to perform remote actions. To reauthorize, follow the steps documented in Permission denied to access GitHub repository.
    3. Azure DevOps: Connect to one of your organization’s Azure DevOps repositories. Read the following docs to get started:
      1. Prerequisites for connecting an Azure DevOps repository to Maia
      2. Installing the Maia app in Azure
    4. GitLab: Connect to one of your organization’s GitLab repositories. Read the following guide to get started:
      1. Prerequisites for connecting a GitLab repository to Maia
    5. Bitbucket: Connect to one of your organization’s Bitbucket repositories. Read the following guide to get started:
      1. Prerequisites for connecting to a Bitbucket repository
  2. Click Continue to trigger the authorization flow, if not already authorized. A new browser tab will open.
  3. Click Authorize Maia. The browser tab will close and return you to the project flow.
    For GitHub only. On successful authorization, you will see a dialog with a list of your authorized accounts. Click Continue.
  4. Once you’ve authorized with your Git provider, you’ll be taken to the Select repository page, where you’ll find the list of repositories you have granted access to Maia. You can connect either an existing repository with multiple branches and a large history, or a brand new repository.
    You can only choose a repository that already exists in your organization or project. Maia does not create a new repository in your account.
  5. Select one of the repositories from the list. You can use the search bar to refine your search—for example, if the list contains many repositories.
  6. Click Finish.
You will be redirected to your new project’s menu. From here, you can view your: You can edit the project name and description at any time by clicking the pencil buttons next to those items at the top of the screen.

Delete a project

Before deleting a project, make sure any active schedules are disabled. If you have any active schedules when you try to delete a project, you’ll receive an error message. To delete a project, follow these steps:
  1. In the Your projects page, click the three dots … next to the intended project.
  2. Click Delete project.
  3. The Delete project dialog will be displayed. Type the name of the project you want to delete in the Enter project name field.
  4. To confirm, click Delete Project.
If you create another project with the same name as a deleted project, make sure the new project’s environment name is a different name to the name of the deleted project’s environment.

Project-level sampling

If necessary, you can enable and disable sampling at the project level. This is useful if your data contains personal information that cannot be viewed outside your region. Only users with project admin permissions can change this setting. To enable or disable sampling for a project:
  1. In the Your projects page, click the three dots … next to the intended project.
  2. Click Enable sampling or Disable sampling as required.