
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:
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:
| Option | What it provides | What to check |
|---|---|---|
| Quick start | A crawl of the public storefront | Whether the required products and policies are publicly available |
| Connect Shopify | Synced products, pages, blog articles, and policies, plus live lookups and order actions | Store 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:
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.

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.
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.
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.

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.

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.
| Test | Evidence to inspect |
|---|---|
| Policy answer | The cited cancellation or shipping policy is current |
| Order lookup | The returned details match the approved test order |
| Customer access | The channel applies the store's required requester checks |
| Reply delivery | The response reaches the intended ticket or chat |
| Handoff | A person receives the question and relevant context |
| Order changes | Refund, 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
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.