# Setup

{% hint style="warning" %}
**Shopify Pre-Registration Required**: As of January 2026, Shopify requires all new merchant connections to use single-merchant custom apps. You MUST pre-register Shopify merchants before they can connect. See [Pre-Registering Shopify Merchants](#pre-registering-shopify-merchants-required) below.
{% endhint %}

## Pre-Registering Shopify Merchants (Required)

Shopify now requires all merchants to use single-merchant custom apps. **You must pre-register merchants in the Channel Dashboard before they can connect through Violet Connect.**

{% hint style="info" %}
**Follow the full step-by-step guide:** [Pre-Registration Process](/ecom-platforms/shopify/pre-registration.md)
{% endhint %}

### Quick Steps for Shopify Pre-Registration:

1. **Create a single-merchant custom app** in your Shopify Partner Dashboard for each merchant
2. **Pre-register the merchant** in Channel Dashboard → Merchants → Pre-Registered tab
3. **Send the Violet Connect link** to your merchant for 2-minute authorization

Pre-registration provides:

* OAuth credentials configured upfront for each merchant
* Merchant-specific Violet Connect links (fastest onboarding path)
* Real-time tracking of installation status

**Background on this requirement**: [Shopify Custom App Migration Guide](/prism/violet-connect/guides/shopify-custom-app-migration.md)

##

## Set up Violet Connect

Violet Connect is customized to the user experience you want to provide so that your merchants are interacting with ***your*** brand. In order to get yourself set up with Violet Connect, you will need upload the following to your [Channel Dashboard](https://channel.violet.io/app-settings):

The channel will be responsible for providing the following values that will populate and configure the onboarding experience. These values can be configured by you in the Channel dashboard. There may be additional configuration options that will be discussed during your integration.

* App Name — This is displayed in the top left hand corner of your Violet Connect dashboard
* Square Logo or Icon — This is displayed in the top left hand corner of your Violet Connect dashboard
* Redirect URL — This is the page your merchant is taken to once the onboarding process is complete. Violet will append any information you need from our end, such as the merchant Id, to query parameters of this URL. See below.
* App Description
* More Info URL

Once all these have been set, you can contact Violet on <support@violet.io> or through Slack, depending on your support package and provide the final two values below and activate your Violet Connect experience.

* Custom Path (ex. connect.violet.io/myapp) - This is configured by Violet and once set, will enable merchant onboarding.
* Supported Commerce Platforms List (Optional) - You can filter which commerce platforms you show to your merchants instead of the complete list of Violet integrations

Once confirmed from our end, you can begin to onboard merchants in production, even if Checkout access is still disabled.

### Connecting Merchants

{% hint style="warning" %}
Do not connect real merchants through "Test Mode" Violet Connect (<https://connect.violet.dev>). If a real merchant, orders placed in "Test Mode" will not be distinguishable on their end from real orders, however, no money will have been transacted. This could result in your merchant incorrectly fulfilling orders.
{% endhint %}

{% hint style="info" %}
We encourage channels to create free test stores they can own and manage and then connect those test stores to their test mode channel. This will allow you to manage your own test products, initiate test refunds/returns for your orders and get some experience working with Violet Connect before you start onboarding real merchants. See a guide [here](/prism/violet-connect/testing/connecting-a-shopify-store.md)
{% endhint %}

Once setup you can go to your selected custom path `connect.violet.io/myapp` then go through the setup flow.

## Setting Details

### Redirect URL

The merchant will redirect to this URL after completion of the Violet Connect flow. You can pass in custom state information as documented below. Violet will append a query parameter, `merchant_id` to the redirect URL. This is the `merchant_id` stored in Violet and can be used by you for subsequent calls.

{% hint style="info" %}
When no custom Redirect URL is configured, merchants are automatically redirected to the merchant dashboard (merchant.violet.io) after completing the Violet Connect flow.
{% endhint %}

### Auth Callback URL

The auth callback URL receives an HTTP GET request after a merchant completes the credentials step in the Violet Connect flow. Violet appends a `merchant_id` query parameter to your callback URL, which contains the merchant ID stored in Violet's system. You can use this ID for subsequent API calls. Additionally, you can pass custom state information as documented below.

{% hint style="info" %}
This setting is currently optional and requires a support ticket to Violet for configuration.
{% endhint %}

### Custom State

Using the `state` query string parameter you can pass a value into Violet Connect by appending that to your Violet Connect URL, for example `connect.violet.io/myapp?state=sample`. The passed in state will be returned to you when the merchant completes the onboarding process.

**NOTE: `state` should be set when linking merchants to Violet Connect, do not add the query parameter in the Violet Channel Dashboard**

As a more detailed example, if your base Violet Connect URL was `connect.violet.io/myapp` and you send the merchant to `connect.violet.io/myapp?state=sample` with your base redirect URL set as `myapp.com` after completion of Violet Connect the merchant will redirect to `myapp.com?state=sample` containing the same state or value that was passed into Violet Connect to start.

![](/files/s8DU5jtqPoc0mnUHsA2Q)

### State in Webhooks

The above mentioned state will also come across in a `x-violet-connect-state` header on the`MERCHANT_CONNECTED` webhook that is fired when a merchant completes a connection.\
This will give you additional options as to what and how you use this state field.

{% hint style="warning" %}
When testing the merchant onboarding process in Sandbox, do not use an email address that you later plan on using for a developer type account. When signing up as a developer we must create accounts in both the Production and Sandbox environments. If you use the email address with a Sandbox merchant it will become reserved in Sandbox and we will not be able to complete the creation of your developer account if you try to use it for that purpose in the future.
{% 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://docs.violet.io/prism/violet-connect/setup.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.
