diff --git a/.github/workflows/crawler.yml b/.github/workflows/crawler.yml new file mode 100644 index 00000000000..6bfce5321c5 --- /dev/null +++ b/.github/workflows/crawler.yml @@ -0,0 +1,33 @@ +name: Algolia Crawler +on: + pull_request: + types: + - closed + +jobs: + algolia_recrawl: + # Comment out the if check below if running on every merge to current branch + if: | + contains(github.event.pull_request.labels.*.name, 'trigger-crawl') + && github.event.pull_request.merged == true + name: Trigger Algolia Crawl + runs-on: ubuntu-latest + steps: + # Checkout repo + - name: Checkout Repo + uses: actions/checkout@v3 + + # Wait 8 minutes to allow Vercel build to complete + - run: sleep 480 + + # Once deploy URL is found, trigger Algolia crawl + - name: Run Algolia Crawler + uses: algolia/algoliasearch-crawler-github-actions@v1 + id: crawler_push + with: + crawler-user-id: ${{ secrets.CRAWLER_USER_ID }} + crawler-api-key: ${{ secrets.CRAWLER_API_KEY }} + algolia-app-id: ${{ secrets.ALGOLIA_APP_ID }} + algolia-api-key: ${{ secrets.ALGOLIA_API_KEY }} + site-url: 'https://docs.getdbt.com' + crawler-name: ${{ secrets.CRAWLER_NAME }} diff --git a/website/docs/best-practices/how-we-mesh/mesh-2-structures.md b/website/docs/best-practices/how-we-mesh/mesh-2-structures.md index 937515954af..9ab633c50ad 100644 --- a/website/docs/best-practices/how-we-mesh/mesh-2-structures.md +++ b/website/docs/best-practices/how-we-mesh/mesh-2-structures.md @@ -18,6 +18,10 @@ At a high level, you’ll need to decide: - Where to draw the lines between your dbt Projects -- i.e. how do you determine where to split your DAG and which models go in which project? - How to manage your code -- do you want multiple dbt Projects living in the same repository (mono-repo) or do you want to have multiple repos with one repo per project? +### Cycle detection + +Like resource dependencies, project dependencies are acyclic, meaning they only move in one direction. This prevents `ref` cycles (or loops), which lead to issues with your data workflows. For example, if project B depends on project A, a new model in project A could not import and use a public model from project B. Refer to [Project dependencies](/docs/collaborate/govern/project-dependencies#how-to-use-ref) for more information. + ## Define your project interfaces by splitting your DAG The first (and perhaps most difficult!) decision when migrating to a multi-project architecture is deciding where to draw the line in your DAG to define the interfaces between your projects. Let's explore some language for discussing the design of these patterns. diff --git a/website/docs/best-practices/how-we-mesh/mesh-3-implementation.md b/website/docs/best-practices/how-we-mesh/mesh-3-implementation.md index cfbbc7a1f28..65ed5d7935b 100644 --- a/website/docs/best-practices/how-we-mesh/mesh-3-implementation.md +++ b/website/docs/best-practices/how-we-mesh/mesh-3-implementation.md @@ -26,7 +26,7 @@ Once you have a sense of some initial groupings, you can first implement **group groups: - name: marketing owner: - - name: Ben Jaffleck + name: Ben Jaffleck email: ben.jaffleck@jaffleshop.com ``` diff --git a/website/docs/docs/cloud/secure/about-privatelink.md b/website/docs/docs/cloud/secure/about-privatelink.md index 29003f65a21..b31e4c08a26 100644 --- a/website/docs/docs/cloud/secure/about-privatelink.md +++ b/website/docs/docs/cloud/secure/about-privatelink.md @@ -5,6 +5,10 @@ description: "Configuring PrivateLink for AWS" sidebar_label: "About PrivateLink" --- +import SetUpPages from '/snippets/_available-tiers-privatelink.md'; + + + PrivateLink enables a private connection from any dbt Cloud Multi-Tenant environment to your data platform hosted on AWS using [AWS PrivateLink](https://aws.amazon.com/privatelink/) technology. PrivateLink allows dbt Cloud customers to meet security and compliance controls as it allows connectivity between dbt Cloud and your data platform without traversing the public internet. This feature is supported in most regions across NA, Europe, and Asia, but [contact us](https://www.getdbt.com/contact/) if you have questions about availability. ### Cross-region PrivateLink diff --git a/website/docs/docs/cloud/secure/databricks-privatelink.md b/website/docs/docs/cloud/secure/databricks-privatelink.md index a2c9e208459..2311bdf2e6e 100644 --- a/website/docs/docs/cloud/secure/databricks-privatelink.md +++ b/website/docs/docs/cloud/secure/databricks-privatelink.md @@ -6,6 +6,10 @@ sidebar_label: "PrivateLink for Databricks" pagination_next: null --- +import SetUpPages from '/snippets/_available-tiers-privatelink.md'; + + + The following steps will walk you through the setup of a Databricks AWS PrivateLink endpoint in the dbt Cloud multi-tenant environment. ## Configure PrivateLink diff --git a/website/docs/docs/cloud/secure/postgres-privatelink.md b/website/docs/docs/cloud/secure/postgres-privatelink.md index 482aeb4040d..ef07d15c128 100644 --- a/website/docs/docs/cloud/secure/postgres-privatelink.md +++ b/website/docs/docs/cloud/secure/postgres-privatelink.md @@ -4,6 +4,9 @@ id: postgres-privatelink description: "Configuring PrivateLink for Postgres" sidebar_label: "PrivateLink for Postgres" --- +import SetUpPages from '/snippets/_available-tiers-privatelink.md'; + + A Postgres database, hosted either in AWS or in a properly connected on-prem data center, can be accessed through a private network connection using AWS Interface-type PrivateLink. The type of Target Group connected to the Network Load Balancer (NLB) may vary based on the location and type of Postgres instance being connected, as explained in the following steps. diff --git a/website/docs/docs/cloud/secure/redshift-privatelink.md b/website/docs/docs/cloud/secure/redshift-privatelink.md index 3ed49e7bb34..c42c703556b 100644 --- a/website/docs/docs/cloud/secure/redshift-privatelink.md +++ b/website/docs/docs/cloud/secure/redshift-privatelink.md @@ -5,6 +5,10 @@ description: "Configuring PrivateLink for Redshift" sidebar_label: "PrivateLink for Redshift" --- +import SetUpPages from '/snippets/_available-tiers-privatelink.md'; + + + AWS provides two different ways to create a PrivateLink VPC endpoint for a Redshift cluster that is running in another VPC: - [Redshift-managed PrivateLink Endpoints](https://docs.aws.amazon.com/redshift/latest/mgmt/managing-cluster-cross-vpc.html) - [Redshift Interface-type PrivateLink Endpoints](https://docs.aws.amazon.com/redshift/latest/mgmt/security-private-link.html) diff --git a/website/docs/docs/cloud/secure/snowflake-privatelink.md b/website/docs/docs/cloud/secure/snowflake-privatelink.md index bbbdf04ddf0..dd046259e4e 100644 --- a/website/docs/docs/cloud/secure/snowflake-privatelink.md +++ b/website/docs/docs/cloud/secure/snowflake-privatelink.md @@ -5,6 +5,10 @@ description: "Configuring PrivateLink for Snowflake" sidebar_label: "PrivateLink for Snowflake" --- +import SetUpPages from '/snippets/_available-tiers-privatelink.md'; + + + The following steps will walk you through the setup of a Snowflake AWS PrivateLink endpoint in the dbt Cloud multi-tenant environment. :::note Snowflake SSO with PrivateLink diff --git a/website/docs/docs/deploy/job-notifications.md b/website/docs/docs/deploy/job-notifications.md index 8d242abac78..548e34fc2f3 100644 --- a/website/docs/docs/deploy/job-notifications.md +++ b/website/docs/docs/deploy/job-notifications.md @@ -1,33 +1,83 @@ --- title: "Job notifications" id: "job-notifications" -description: "Set up notifications in dbt Cloud to receive Email or Slack alerts for job run status." +description: "Set up notifications in dbt Cloud to receive email or Slack alerts about job run status." --- +Set up notifications in dbt Cloud to receive email or Slack alerts when a job run succeeds, fails, or is cancelled. -Setting up notifications in dbt Cloud will allow you to receive alerts via Email or a chosen Slack channel when a job run succeeds, fails, or is cancelled. +## Email notifications -### Email +You can receive email alerts about jobs by configuring the dbt Cloud email notification settings. -These are the following options for setting up email notifications. Refer to [Users and licenses](/docs/cloud/manage-access/seats-and-users) for info on license types eligible for email notifications. +### Prerequisites +- You must be either a _developer user_ or an _account admin_ to configure email notifications in dbt Cloud. For more details, refer to [Users and licenses](/docs/cloud/manage-access/seats-and-users). + - As a developer user, you can set up email notifications for yourself. + - As an account admin, you can set up notifications for yourself and other team members. -- As a **user** — You can set up email notifications for yourself under your Profile. -- As an **admin** — You can set up notifications on behalf of your team members. +### Configure email notifications -To set up job notifications, follow these steps: +1. From the gear menu, choose **Notification settings**. +1. By default, dbt Cloud sends notifications to the email address that's in your **User profile** page. -1. Click the gear menu in the top right corner and select **Notification Settings**. + If you're an account admin, you can choose a different email address to receive notifications. Select the **Notification email** dropdown and choose another address from the list. The list includes **Internal Users** with access to the account and **External Emails** that have been added. + - To add an external email address, select the **Notification email** dropdown and choose **Add external email**. After you add the external email, it becomes available for selection in the **Notification email** dropdown list. External emails can be addresses that are outside of your dbt Cloud account and also for third-party integrations like [channels in Microsoft Teams](https://support.microsoft.com/en-us/office/tip-send-email-to-a-channel-2c17dbae-acdf-4209-a761-b463bdaaa4ca) and [PagerDuty email integration](https://support.pagerduty.com/docs/email-integration-guide). -2. Select **Edit** to begin editing the **Email Notifications** settings. - - **As a user:** Choose the Notification type (Succeeds, Fails, or Is Cancelled) for each Job you want to receive notifications for. + - - **As an admin:** Under **Configure notifications for**, use the dropdown to select one or more users you'd like to set notifications for. If you only see your own name, then you might not have admin privileges.

- Choose the Notification type (Succeeds, Fails, or Is Cancelled) for each Job you want them to receive notifications for. +1. Select the **Environment** for the jobs you want to receive notifications about from the dropdown. -3. Click **Save**. +1. Click **Edit** to configure the email notification settings. Choose one or more of the run statuses (**Succeeds**, **Fails**, **Is Canceled**) for each job you want to receive notifications about. - +1. When you're done with the settings, click **Save**. -### Slack + As an account admin, you can add more email recipients by choosing another **Notification email** from the dropdown, **Edit** the job notification settings, and **Save** the changes. + + To set up alerts on jobs from a different environment, select another **Environment** from the dropdown, **Edit** those job notification settings, and **Save** the changes. - + + +### Unsubscribe from email notifications +1. From the gear menu, choose **Notification settings**. +1. On the **Email notifications** page, click **Unsubscribe from all email notifications**. + +## Slack notifications + +You can receive Slack alerts about jobs by setting up the Slack integration, then configuring the dbt Cloud Slack notification settings. + +:::note +Any account admin can edit the Slack notifications but they'll be limited to configuring the channels that their Slack user has access to. If there has been a change in user roles or Slack permissions where you no longer have access to edit a configured Slack channel, please [contact support](mailto:support@getdbt.com) for assistance. +::: + +### Prerequisites +- You must be an administrator of the Slack workspace. +- You must be an account admin to configure Slack notifications in dbt Cloud. For more details, refer to [Users and licenses](/docs/cloud/manage-access/seats-and-users). + +### Set up the Slack integration + +1. From the gear menu, select **Profile settings**. On your **User profile** page, scroll to the **Linked accounts** section. +1. In the **Linked accounts** section, find the Slack application and click **Link**. + +1. Allow dbt Labs to access the Slack workspace. If you are a member of multiple workspaces, you can select the appropriate workspace from the dropdown menu in the upper right corner. + + +### Configure Slack notifications + +1. From the gear menu, choose **Notification settings**. +1. Select **Slack notifications** in the left sidebar. +1. Select the **Notification channel** you want to receive the job run notifications from the dropdown. + +1. Select the **Environment** for the jobs you want to receive notifications about from the dropdown. +1. Click **Edit** to configure the Slack notification settings. Choose one or more of the run statuses (**Succeeds**, **Fails**, **Is Canceled**) for each job you want to receive notifications about. +1. When you're done with the settings, click **Save**. + + To send alerts to another Slack channel, select another **Notification channel** from the dropdown, **Edit** those job notification settings, and **Save** the changes. + + To set up alerts on jobs from a different environment, select another **Environment** from the dropdown, **Edit** those job notification settings, and **Save** the changes. + + + +### Disable the Slack integration + +1. From the gear menu, select **Profile settings**. On your **User profile** page, scroll to the **Linked accounts** section. +1. Find the Slack application in the **Linked accounts** section, click the trash can icon, and click **Unlink**. Channels that you configured will no longer receive Slack notifications. Channels that are configured by other account admins will continue to receive Slack notifications if they still have active Slack integrations. To migrate ownership of a Slack channel notification configuration, have another account admin edit the configuration. \ No newline at end of file diff --git a/website/docs/docs/deploy/jobs.md b/website/docs/docs/deploy/jobs.md index 92390907cd0..e8871b48427 100644 --- a/website/docs/docs/deploy/jobs.md +++ b/website/docs/docs/deploy/jobs.md @@ -10,7 +10,7 @@ In dbt Cloud, there are two types of jobs: - [Deploy jobs](/docs/deploy/deploy-jobs) — To create and set up triggers for building production data assets - [Continuous integration (CI) jobs](/docs/deploy/continuous-integration) — To create and set up triggers for checking code changes -Below is a comparison table that describes how deploy jobs and CI jobs behave differently: +Below is a comparison table that describes how deploy jobs and CI jobs behave: | | Deploy Jobs | CI Jobs | | --- | --- | --- | @@ -19,4 +19,5 @@ Below is a comparison table that describes how deploy jobs and CI jobs behave di | Destination | Builds into a production database and schema. | Builds into a staging database and ephemeral schema, lived for the lifetime of the PR. | | Execution mode | Runs execute sequentially, so as to not have collisions on the underlying DAG. | Runs execute in parallel to promote team velocity. | | Efficiency run savings | Detects over-scheduled jobs and cancels unnecessary runs to avoid queue clog. | Cancels existing runs when a newer commit is pushed to avoid redundant work. | -| State comparison | Only sometimes needs to detect state. | Almost always needs to compare state against the production environment to build on modified code and its dependents. | \ No newline at end of file +| State comparison | Only sometimes needs to detect state. | Almost always needs to compare state against the production environment to build on modified code and its dependents. | +| Job run duration | Limit is 24 hours. | Limit is 24 hours. | \ No newline at end of file diff --git a/website/docs/faqs/Accounts/slack.md b/website/docs/faqs/Accounts/slack.md deleted file mode 100644 index 4faa60fb09a..00000000000 --- a/website/docs/faqs/Accounts/slack.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: How do I set up Slack notifications? -description: "Instructions on how to set up slack notifications" -sidebar_label: 'How to set up Slack' -id: slack ---- - - diff --git a/website/docs/guides/orchestration/webhooks/zapier-ms-teams.md b/website/docs/guides/orchestration/webhooks/zapier-ms-teams.md index bb3f03ef0c0..148e16b2469 100644 --- a/website/docs/guides/orchestration/webhooks/zapier-ms-teams.md +++ b/website/docs/guides/orchestration/webhooks/zapier-ms-teams.md @@ -5,7 +5,7 @@ slug: zapier-ms-teams description: Use Zapier and the dbt Cloud API to post to Microsoft Teams --- -This guide will show you how to set up an integration between dbt Cloud jobs and Microsoft Teams using [dbt Cloud Webhooks](/docs/deploy/webhooks) and Zapier, similar to the [native Slack integration](/faqs/accounts/slack). +This guide will show you how to set up an integration between dbt Cloud jobs and Microsoft Teams using [dbt Cloud Webhooks](/docs/deploy/webhooks) and Zapier, similar to the [native Slack integration](/docs/deploy/job-notifications#slack-notifications). When a dbt Cloud job finishes running, the integration will: diff --git a/website/docs/guides/orchestration/webhooks/zapier-slack.md b/website/docs/guides/orchestration/webhooks/zapier-slack.md index c9046ee9943..6ce89eadd12 100644 --- a/website/docs/guides/orchestration/webhooks/zapier-slack.md +++ b/website/docs/guides/orchestration/webhooks/zapier-slack.md @@ -5,7 +5,7 @@ slug: zapier-slack description: Use Zapier and the dbt Cloud API to post error context to Slack --- -This guide will show you how to set up an integration between dbt Cloud jobs and Slack using [dbt Cloud webhooks](/docs/deploy/webhooks) and Zapier. It builds on the native [native Slack integration](/faqs/accounts/slack) by attaching error message details of models and tests in a thread. +This guide will show you how to set up an integration between dbt Cloud jobs and Slack using [dbt Cloud webhooks](/docs/deploy/webhooks) and Zapier. It builds on the native [native Slack integration](/docs/deploy/job-notifications#slack-notifications) by attaching error message details of models and tests in a thread. Note: Because there is not a webhook for Run Cancelled, you may want to keep the standard Slack integration installed to receive those notifications. You could also use the [alternative integration](#alternate-approach) that augments the native integration without replacing it. diff --git a/website/docs/reference/resource-properties/constraints.md b/website/docs/reference/resource-properties/constraints.md index 4e500ed64ea..9a5d513d99b 100644 --- a/website/docs/reference/resource-properties/constraints.md +++ b/website/docs/reference/resource-properties/constraints.md @@ -103,7 +103,7 @@ models: contract: enforced: true columns: - - name: customer_id + - name: id data_type: int constraints: - type: not_null diff --git a/website/snippets/_available-tiers-privatelink.md b/website/snippets/_available-tiers-privatelink.md new file mode 100644 index 00000000000..4a3a147d8c6 --- /dev/null +++ b/website/snippets/_available-tiers-privatelink.md @@ -0,0 +1,9 @@ +:::info Limited to certain Enterprise tiers + +The PrivateLink feature is available on the following dbt Cloud Enterprise tiers: + * Business Critical + * Virtual Private + +To learn more about these tiers, contact us at . + +::: \ No newline at end of file diff --git a/website/snippets/_sl-define-metrics.md b/website/snippets/_sl-define-metrics.md index 3734e819c1b..af3ee9f297f 100644 --- a/website/snippets/_sl-define-metrics.md +++ b/website/snippets/_sl-define-metrics.md @@ -4,7 +4,7 @@ MetricFlow supports different metric types like [simple](/docs/build/simple), [r 1. You can define metrics in the same YAML files as your semantic models or create a new file. If you want to create your metrics in a new file, create another directory called `/models/metrics`. The file structure for metrics can become more complex from here if you need to further organize your metrics, for example, by data source or business line. -2. The example metric we'll create is a simple metric that refers directly to the the `order_total` measure, which will be implemented as a `sum()` function in SQL. Again, if you're working in the Jaffle shop sandbox, we recommend deleting the original `orders.yml` file, or removing the .yml extension so it's ignored during parsing. We'll be rebuilding the `order_total` metric from scratch. If you're working in your own project, create a simple metric like the one below using one of the measures you created in the previous step. +2. The example metric we'll create is a simple metric that refers directly to the `order_total` measure, which will be implemented as a `sum()` function in SQL. Again, if you're working in the Jaffle shop sandbox, we recommend deleting the original `orders.yml` file, or removing the .yml extension so it's ignored during parsing. We'll be rebuilding the `order_total` metric from scratch. If you're working in your own project, create a simple metric like the one below using one of the measures you created in the previous step. ```yaml metrics: diff --git a/website/snippets/core-versions-table.md b/website/snippets/core-versions-table.md index 6ec1cb01e32..71e11974a56 100644 --- a/website/snippets/core-versions-table.md +++ b/website/snippets/core-versions-table.md @@ -3,7 +3,7 @@ | dbt Core | Initial Release | Support Level | Critical Support Until | |------------------------------------------------------------|-----------------|----------------|-------------------------| | [**v1.7**](/docs/dbt-versions/core-upgrade/upgrading-to-v1.7) | Nov 2, 2023 | Active | Nov 1, 2024 | -| [**v1.6**](/docs/dbt-versions/core-upgrade/upgrading-to-v1.6) | Jul 31, 2023 | Active | Jul 30, 2024 | +| [**v1.6**](/docs/dbt-versions/core-upgrade/upgrading-to-v1.6) | Jul 31, 2023 | Critical | Jul 30, 2024 | | [**v1.5**](/docs/dbt-versions/core-upgrade/upgrading-to-v1.5) | Apr 27, 2023 | Critical | Apr 27, 2024 | | [**v1.4**](/docs/dbt-versions/core-upgrade/upgrading-to-v1.4) | Jan 25, 2023 | Critical | Jan 25, 2024 | | [**v1.3**](/docs/dbt-versions/core-upgrade/upgrading-to-v1.3) | Oct 12, 2022 | End of Life* ⚠️ | Oct 12, 2023 | diff --git a/website/snippets/slack-notifications-config-steps.md b/website/snippets/slack-notifications-config-steps.md deleted file mode 100644 index da63f7afcc9..00000000000 --- a/website/snippets/slack-notifications-config-steps.md +++ /dev/null @@ -1,28 +0,0 @@ -Setting up Slack notifications in dbt Cloud enables you to receive alerts in a chosen Slack channel when a job run succeeds, fails, or is cancelled. - -:::info Note -Currently, Slack notifications can only be configured by one user to one Slack channel. Additionally, you must be an admin of the Slack workspace in order to configure Slack notifications. - -If there have been changes to the user roles and you need to move ownership, please reach out to support@getdbt.com and provide the support team with the necessary information needed to make this change for you. -::: -### Setup the integration - -1. Click the gear in the top right and select **Profile**. -2. Click **Integrations** to the left. - -3. Click **Link your Slack profile** - -4. Allow dbt Labs to access the Slack workspace. If you are a member of multiple, you can select the appropriate workspace from the dropdown menu in the top right corner. - - -### Configure the notifications - -1. Click the gear in the top right and select **Account Settings**. -2. Click **Slack Notifications** to the left and click **Edit** to the right. - -3. You can find the Slack notification settings at the bottom of the page. - -### Disabling the Slack integration - -To disable the integration entirely, navigate back to the Integrations page and click **Disconnect Account** in the Slack pane. Confirm the disconnect, and the option will revert to its original state. - diff --git a/website/static/img/docs/dbt-cloud/Navigate-to-integrations.png b/website/static/img/docs/dbt-cloud/Navigate-to-integrations.png deleted file mode 100644 index b1e2789f334..00000000000 Binary files a/website/static/img/docs/dbt-cloud/Navigate-to-integrations.png and /dev/null differ diff --git a/website/static/img/docs/dbt-cloud/Navigate-to-notifications.png b/website/static/img/docs/dbt-cloud/Navigate-to-notifications.png deleted file mode 100644 index 13da17d5deb..00000000000 Binary files a/website/static/img/docs/dbt-cloud/Navigate-to-notifications.png and /dev/null differ diff --git a/website/static/img/docs/dbt-cloud/using-dbt-cloud/email-notifications.png b/website/static/img/docs/dbt-cloud/using-dbt-cloud/email-notifications.png deleted file mode 100644 index 7e77098d63e..00000000000 Binary files a/website/static/img/docs/dbt-cloud/using-dbt-cloud/email-notifications.png and /dev/null differ diff --git a/website/static/img/docs/deploy/example-email-notification-settings-page.png b/website/static/img/docs/deploy/example-email-notification-settings-page.png new file mode 100644 index 00000000000..5d834487a43 Binary files /dev/null and b/website/static/img/docs/deploy/example-email-notification-settings-page.png differ diff --git a/website/static/img/docs/deploy/example-notification-external-email.png b/website/static/img/docs/deploy/example-notification-external-email.png new file mode 100644 index 00000000000..5a2326cccd8 Binary files /dev/null and b/website/static/img/docs/deploy/example-notification-external-email.png differ diff --git a/website/static/img/docs/deploy/example-notification-slack-channels.png b/website/static/img/docs/deploy/example-notification-slack-channels.png new file mode 100644 index 00000000000..ecf4ff818bd Binary files /dev/null and b/website/static/img/docs/deploy/example-notification-slack-channels.png differ diff --git a/website/static/img/docs/deploy/example-slack-notification-settings-page.png b/website/static/img/docs/deploy/example-slack-notification-settings-page.png new file mode 100644 index 00000000000..dc72d291e57 Binary files /dev/null and b/website/static/img/docs/deploy/example-slack-notification-settings-page.png differ diff --git a/website/vercel.json b/website/vercel.json index e27db589f6b..3bbb142a804 100644 --- a/website/vercel.json +++ b/website/vercel.json @@ -2,6 +2,11 @@ "cleanUrls": true, "trailingSlash": false, "redirects": [ + { + "source": "/faqs/Accounts/slack", + "destination": "/docs/deploy/job-notifications", + "permanent": true + }, { "source": "/guides/migration/versions", "destination": "/docs/dbt-versions/core-upgrade",