Integration

Complete Guide to Setting Up OMNIS on Shopify

Install the widget, configure navigation with pages and sections, and enable voice-triggered add-to-cart — full step-by-step guide for Shopify stores.

June 2, 20266 min readBy OMNIS

This guide walks through the complete OMNIS setup for a Shopify store — from installing the widget to configuring navigation and voice-triggered add-to-cart. No coding required on your part; everything is configured through the OMNIS dashboard.

Before you start

You need an OMNIS account and your widget token. Find it in the dashboard under Deploy — it is shown next to the embed snippet. The add-to-cart feature requires the Premium plan.

Part 1 — Install the widget

1

Copy your embed snippet from OMNIS

In the OMNIS dashboard, go to the Deploy page. Click Copy embed code — this copies a script tag that already has your unique token and the correct URL filled in. You do not need to edit anything in it.

2

Add it to your Shopify theme

  1. 1In your Shopify admin go to Online Store → Themes and click Edit theme.
  2. 2In the theme editor, click on the Header and add a Custom code section.
  3. 3Paste your embed snippet into the code field on the right.
  4. 4Click Save.

Part 2 — Set up navigation

Navigation lets the OMNIS voice agent guide visitors to specific pages or scroll them to sections on the current page. You configure this in the dashboard under Navigator.

3

Add your pages

In the OMNIS dashboard open the Navigator page. Click Add entry, choose Page as the type, and fill in:

  • Name — what the page is called (e.g. “Products”, “About”)
  • URL — the path on your store (e.g. /collections/all or /pages/about)
  • Description — one sentence about what's on this page. The AI reads this to decide when to navigate here.
Tip
Write the description like you're telling a colleague what the page is for. For example: “Our full product catalogue with all available items.”
4

Find your section IDs

Sections are areas within a page the agent can scroll to — for example a testimonials block, a featured collection, or a contact form. Each section needs an HTML id attribute on its outermost element.

The easiest way to find section IDs is to right-click any part of your storefront, click Inspect, and look for the id="..."on the section's wrapper div.

html
<!-- Right-click any section on your storefront → Inspect -->
<!-- Look for the id="..." attribute on the outermost div of that section -->

<div id="hero" class="shopify-section ...">        ← section ID is "hero"
<div id="featured-collection" class="shopify-section ...">  ← "featured-collection"
<div id="testimonials" class="shopify-section ...">  ← "testimonials"

Shopify themes render sections with either a dynamic ID from {{ section.id }} (a hash like template--16__hero) or a fixed string set by the theme developer. Both work fine — just copy whatever the id value is.

liquid
<!-- In your section's Liquid file, the container usually looks like this -->
<div id="{{ section.id }}" class="my-section">
  ...
</div>

<!-- But many themes use a fixed string ID instead -->
<div id="featured-products" class="my-section">
  ...
</div>
5

Add your sections in the dashboard

Back in the Navigator page, click Add entry and choose Section. For each section enter:

  • Name — what this section contains (e.g. “Testimonials”)
  • Section ID — the exact id value from the HTML (e.g. testimonials)
  • Parent page — which page this section lives on
  • Description — one sentence about what's in this section
Note
The section ID must match the id attribute in your HTML exactly, including capitalisation. Featured-Products and featured-products are treated as different IDs.

Part 3 — Set up add-to-cart

OMNIS handles the Shopify cart API automatically through the voice agent — no code needed. You just need to tell the dashboard which products the voice agent can add, and supply the correct ID for each one.

6

Find your variant IDs

This is the most important thing to get right. In Shopify, every product has one or more variants (different sizes, colours, etc.). The Shopify cart API requires the variant ID — not the product ID — to add an item to cart. These are two different numbers.

There are three ways to find the variant ID:

text
<!-- Option 1: from the Shopify admin URL -->
<!-- Navigate to: Products → click product → click a variant -->
<!-- The URL looks like: -->
admin.shopify.com/store/YOUR-STORE/products/8291234567/variants/44012345678901
                                                                 ↑
                                                           This is the variant ID

<!-- Option 2: from the storefront -->
<!-- Add ?variant=XXXXX to a product URL and look at the variant param -->
your-store.myshopify.com/products/blue-sneaker?variant=44012345678901
Tip
If a product has multiple variants (e.g. different sizes), add a separate product entry in OMNIS for each variant — name them clearly so the agent knows which to add (e.g. “Blue Sneaker — Size M”).
7

Add your products in the dashboard

In the Navigator page, switch to the Products tab, click Add entry and choose Product. For each product (or variant) enter:

  • Name — what the agent will call this product in conversation
  • Product ID — the Shopify variant ID (see step above)
  • Description — one sentence about this product (price, key features, etc.)
Note
The Product ID field must contain the Shopify variant ID, not the product ID. Using the product ID will cause the cart API to return a 422 error and nothing will be added.

How it works after setup

Once configured, OMNIS handles everything automatically on Shopify. When a visitor confirms they want to buy something, the widget detects window.Shopify and calls /cart/add.js with the variant ID. The cart count updates, cart drawer events fire for all major Shopify themes (Dawn, Prestige, Impulse, and more), and a confirmation toast appears — all without any code from you.

Navigation works the same way — the voice agent scrolls visitors to sections on the current page or navigates them to other pages based on the sitemap you configured, always staying in the current browser tab.

Tip
Using a custom or headless Shopify storefront?The automatic add-to-cart above relies on Shopify's standard /cart/add.js endpoint. If your store uses a custom frontend (React, Next.js, etc.) that manages its own cart state, the automatic handler may not work. In that case you need to listen to the ai-agent-action event and call your own cart function manually — see the custom website integration guide.
shopifyadd-to-cartnavigationsectionsvariant idshopify voice agentshopify ai agent