How to set up an AI agent for your Shopify store

Kurnia Kharisma
Written by

Kurnia Kharisma

Katelin Teen
Reviewed by

Katelin Teen

Last edited September 8, 2026

Expert Verified
Shopify logo beside an illustrated person holding an AI sign

A Shopify support question often combines two things: your store's policy and the state of one customer's order. An AI agent needs to distinguish them. A return policy can explain eligibility, but it cannot prove that a parcel shipped or that a refund was issued.

I would start with one support job and test that distinction before allowing the agent to change orders. This guide uses eesel CLI to prepare a support teammate, then explains what still needs checking in the customer-facing channel. The examples are proposed tests, not reports of an executed store rollout.

Decide what your Shopify AI agent should handle

Begin with a job you can evaluate: explaining shipping policies, answering product questions, or helping a verified customer understand a delivery status. Avoid a first brief as broad as “handle all customer support.”

Write down the allowed sources, who can receive order details, and when a person should take over. If a customer asks to cancel a parcel already in fulfillment, the correct next step may be a handoff rather than a cancellation attempt.

When comparing Shopify apps, inspect the specific integration instead of relying on an “AI agent” label. Your evaluation should include connection permissions, source updates, customer verification, action approvals, and the actual helpdesk or widget workflow.

Set up your Shopify teammate through eesel CLI

The eesel CLI operates the same eesel teammate and workspace as the dashboard. You can use the terminal yourself, collect checks in a script, or ask Claude Code, Cursor, or Codex to help with setup. Commands return JSON so those tools can inspect results.

That gives you a practical way to separate configuration from customer-facing behavior. Check the connection, sources, and permissions first; test what the teammate says; then verify what happens in the helpdesk or widget.

1. Inspect the workspace before connecting your store

With Node.js 18.17 or newer:

Bash
npx @eesel/cli login
npx @eesel/cli whoami
npx @eesel/cli agents
npx @eesel/cli integrations --agent TEST_AGENT_ID
npx @eesel/cli status --agent TEST_AGENT_ID
npx @eesel/cli instructions --agent TEST_AGENT_ID
npx @eesel/cli automations --agent TEST_AGENT_ID

Replace TEST_AGENT_ID with the intended teammate. Check existing channels and automations, particularly if the workspace already handles real customers. Selecting an agent does not create an isolated test store or disable its permissions.

2. Choose public knowledge or full Shopify access

The Shopify integration guide describes two connection levels:

OptionWhat it providesWhat to check
Quick startA crawl of the public storefrontWhether the required products and policies are publicly available
Connect ShopifySynced products, pages, blog articles, and policies, plus live lookups and order actionsStore identity, app permissions, source scope, and allowed actions

Quick start does not grant Admin API access or order, customer, and product actions. Choose full access only when the job needs it.

For a store that is not already connected:

Bash
npx @eesel/cli integrations connect shopify --agent TEST_AGENT_ID

Follow the returned instructions and provide the store name requested by the flow. An authorized person opens the approval link, verifies the store, and reviews the permissions in Shopify admin. The current eesel connection uses app approval, not a pasted access token.

Connecting grants access; it does not mean every possible action should be enabled. Inspect the teammate's permissions before using the connection in a test.

eesel dashboard showing a connected Shopify store, synced sources, and separate read and write action settings
eesel dashboard showing a connected Shopify store, synced sources, and separate read and write action settings
This documentation example shows source counts and action settings separately. Its counts and permissions are not settings to copy into your own store.

3. Check knowledge separately from live lookups

Shopify knowledge sources are synced, while the lookup actions query Shopify live. A recently changed shipping policy may need a re-sync even though a live order lookup works.

Bash
npx @eesel/cli integrations download list --agent TEST_AGENT_ID
npx @eesel/cli status --agent TEST_AGENT_ID

Check that the intended sources are enabled and their syncs have completed. If a source needs a download or refresh, use the current command help and returned source identifiers. Review conflicting policy versions before importing more content.

A current stock lookup and a product-description search answer different questions. Use the catalog description for material or sizing information, and the live variant lookup when current inventory matters. Neither result should be treated as permission to disclose a customer's order.

4. Test the policy answer before accessing a real order

Disable outgoing customer messages and Shopify order-changing actions in the dashboard first. For this initial fictional test, keep order and customer lookups off too. The following chat commands do not change those permissions.

Bash
npx @eesel/cli new --name "shopify-cancellation-policy-pilot" --agent TEST_AGENT_ID
npx @eesel/cli chat "Fictional test: a customer wants to cancel an order placed this morning. Use the approved cancellation and shipping policies to propose an answer for human review. Cite the policy and identify what fulfillment information would need checking. Do not look up a real order, send a message, or change store records." --agent TEST_AGENT_ID
npx @eesel/cli chat "The customer now says the parcel has already shipped. Revise the proposed answer using the policy. Do not claim the order was cancelled or a refund was issued. Explain when a human should take over." --agent TEST_AGENT_ID

The follow-up continues the same CLI conversation. Review whether the answer responds to the changed fulfillment state instead of repeating the first reply.

CLI chats are billed work. This test checks policy reasoning, not live order lookup, customer identity, widget delivery, or the ability to cancel an order.

5. Validate a read-only order lookup

Next, use an approved test order with no real customer's personal details. Enable only the lookup actions needed for the exercise, keeping all order changes and outgoing replies disabled.

Shopify admin example listing generated test orders with different payment and fulfillment statuses
Shopify admin example listing generated test orders with different payment and fulfillment statuses
Shopify's 2023 test-data article illustrates orders with different payment and fulfillment states. It is reference data, not the result of this pilot; the current admin layout may differ.

Ask the teammate to retrieve that test order and its fulfillment information. Check the returned order number and fulfillment state against Shopify admin, along with carrier and tracking information where available. An unfulfilled order may correctly have neither. The integration provides order and fulfillment lookups separately, so inspect the evidence it actually used.

Before any customer-facing use, validate how your chosen channel establishes that the requester may see the order. Knowing an order number or email address should not be your whole verification policy. If the integration and channel do not support the checks your store requires, keep the result with a human reviewer.

6. Connect the conversation channel and test the handoff

The eesel Shopify integration has no triggers of its own. The conversation must arrive through a separately configured helpdesk or chat widget. Connecting Shopify does not add a storefront widget or begin answering incoming tickets.

Illustrated storefront chat showing product search, stock checks, and product cards
Illustrated storefront chat showing product search, stock checks, and product cards
The integration documentation illustrates a product-recommendation chat. This is not a screenshot of the cancellation test or evidence that a widget has been installed.

Choose one channel and an approved test audience. Inspect its instructions, event scope, and reply permissions before enabling it. Then test the same cancellation question in that real channel, including the shipped-order follow-up and a request for a human.

TestEvidence to inspect
Policy answerThe cited cancellation or shipping policy is current
Order lookupThe returned details match the approved test order
Customer accessThe channel applies the store's required requester checks
Reply deliveryThe response reaches the intended ticket or chat
HandoffA person receives the question and relevant context
Order changesRefund, cancellation, return, and draft-order actions remain off

Only after this pilot should you consider order-changing actions. Configure each separately and require approval while evaluating it. An approved return request, a refund, and a cancellation are different changes; do not describe one as proof that another happened.

7. Review activity and approvals

Bash
npx @eesel/cli activity --agent TEST_AGENT_ID
npx @eesel/cli approvals --agent TEST_AGENT_ID

Inspect the requested action and its exact target before approving it. A pending approval is not a completed refund. Verify any approved change in Shopify and verify any message in the customer-facing channel.

A useful coding-agent brief is:

Inspect the selected eesel teammate's Shopify connection, knowledge sources, channels, and action permissions. Propose a cancellation-policy test and read-only test-order lookup. Do not connect accounts, refresh sources, run billed chats, install a widget, or enable writes until I approve.

The coding agent can help collect configuration evidence. Your team still owns the store's disclosure rules, customer promises, and decision to allow order changes.

Keep the rollout tied to a support job

Review failed answers after policy or catalog changes, and repeat the relevant tests before expanding access. Measure whether customers got correct help and whether a human could take over, not just how many replies the agent produced.

Try eesel with one Shopify support question, approved knowledge, and a read-only pilot. The CLI helps you prepare and inspect the teammate; the final proof is the result in your store's actual support channel.

Frequently Asked Questions

What does eesel CLI do for a Shopify store?
It operates the same eesel teammate and workspace as the dashboard. A person, script, or coding agent can inspect connections and sources, test answers, and review activity and approvals. Shopify authorization still needs an authorized person.
Does Quick start let eesel look up orders?
No. Quick start crawls the public storefront. Live order, customer, and product actions require the full Connect Shopify authorization.
Is Shopify knowledge always live?
No. Products, pages, blog articles, and policies are synced knowledge sources. Lookup actions query Shopify live. Check source syncs after policy changes and use an authorized live lookup for current fulfillment or inventory information.
Does connecting Shopify install a customer chat widget?
No. The eesel Shopify connection supplies data, not a conversation trigger. Connect and configure a helpdesk or storefront chat widget separately, then test its actual behavior before launch.
Can the agent refund or cancel orders automatically?
Only with the required access and action permissions. Keep these actions off during an answer-only pilot. Later, require approval and inspect the exact order and proposed change. A held action has not executed.
Can Claude Code or Codex handle the setup?
They can use eesel CLI and read its JSON output. Give the coding agent a bounded brief and require approval before connecting accounts, importing data, running billed chats, installing a widget, or enabling actions.
Does a successful CLI chat prove the storefront is ready?
No. It checks the answer in that CLI conversation. Separately test the real helpdesk or widget, requester verification, order access, reply destination, and handoff to a person.

Share this article