# Snowflake Horizon

Use [Snowflake's contacts](https://docs.snowflake.com/en/user-guide/contacts-using) to configure the access request links with data in Snowflake and provide data consumers with a button to request access from [Snowsight in Universal Search](https://docs.snowflake.com/en/user-guide/ui-snowsight-universal-search) results. You may also opt to add the access request links to the data object descriptions.

## Requirements

* [Snowflake connection registered in Immuta](/saas/configuration/integrations/snowflake/how-to-guides/connect-snowflake.md)
* A Snowflake user with the following privileges:
  * Privileges to create a [Snowflake contact](https://docs.snowflake.com/en/user-guide/contacts-using) at the schema level:
    * `CREATE CONTACT` on the schema that will contain the contact
    * `USAGE` on the schema and the parent database
  * Privileges to [add a contact to an object](https://docs.snowflake.com/en/user-guide/contacts-using#associate-a-contact-with-an-object). You must have **at least one** of the following:
    * `APPLY CONTACT` on the account: this allows for an admin to manage associations across your Snowflake account.
    * `APPLY` on the specific contact **and** `OWNERSHIP` of the object: this allows for object owners to control the contact associations for their own objects.
* [OBJECT\_VISIBILITY (private preview feature) enabled in Snowflake](https://docs.snowflake.com/en/release-notes/2025/other/2025-10-01-object-visibility)

## Set up object visibility

Alter the object visibility of your Snowflake objects so that they can be found for access requests. Run the following in Snowflake:

```
ALTER DATABASE {database name}
SET OBJECT_VISIBILITY =
$$
organization_targets:
  - all_accounts_including_external
$$;
```

{% hint style="warning" %}
It can take up to three hours for object visibility to take effect.
{% endhint %}

## Set up access request links

1. Follow the Snowflake documentation to [Create a contact](https://docs.snowflake.com/en/user-guide/contacts-using#create-a-contact) for each individual data object you want data consumers to be able to request access for. Configure the contact with the following:
   * **Communication method**: Choose **URL**.
   * **URL**: Insert the [access request link](/saas/request/configure/how-to-guides/configure-access-request-links.md#access-request-links) for the asset.
2. Follow the Snowflake documentation to [Associate each contact](https://docs.snowflake.com/en/user-guide/contacts-using#associate-a-contact-with-an-existing-object) you created with its corresponding data object.

{% hint style="info" %}
After completing the initial setup, add configuring the access request links to your data engineering pipelines.
{% endhint %}


---

# Agent Instructions: 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:

```
GET https://documentation.immuta.com/saas/request/configure/how-to-guides/configure-access-request-links/snowflake-horizon.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
