← Caddywell for PrestaShop
DocumentationPrivacyEULASupport

Caddywell for PrestaShop: setup and user guide

What Caddywell does

Caddywell shows the requester's PrestaShop orders in the Zendesk ticket sidebar (and on user profiles), from every shop of a multistore: items, totals, payments, the delivery address, carriers with tracking links, the status history, credit slips and refunded quantities, and the order's messages, with their lifetime value and average order. Agents you allow can change the order status, add or fix the tracking number and add a message to the order. Every action asks for confirmation first and is logged on the ticket as an internal note.

Works with PrestaShop 1.7.6 and later, including PrestaShop 8 and 9, through PrestaShop's built-in Webservice. Nothing to install in PrestaShop.

1. Create a Webservice key

In the back office: Advanced Parameters > Webservice.

  1. Set Enable PrestaShop's webservice to Yes and save.
  2. Click Add new webservice key, then Generate!. Description: "Caddywell for Zendesk". Status: Yes.
  3. Tick the permissions below. Leave out the actions you do not want agents to take.
  4. Multistore: under Shop association, tick every shop. Caddywell reads every shop's orders with this one key, and reads each order's carrier in that order's own shop.
  5. Save and copy the key.
Caddywell featureResourcePermission
Customers and guest checkouts by emailcustomersView (GET)
Orders, items and totalsorders, order_detailsView (GET)
Status names, history and status changesorder_states, order_historiesView (GET); Add (POST) on order_histories to change statuses
Carriers and tracking numberscarriers, order_carriersView (GET); Modify (PUT) on order_carriers to set tracking numbers
Delivery addressaddresses, countriesView (GET)
Paymentsorder_paymentsView (GET)
Credit slips and lifetime value net of refundsorder_slipView (GET)
Order messagescustomer_threads, customer_messagesView (GET); Add (POST) on both to add messages
Currency and shop namescurrencies, shopsView (GET)

Without shops, currencies or countries, Caddywell still works and shows plainer labels.

2. Check that Zendesk can reach the Webservice

  • Your store needs HTTPS with a certificate browsers accept, reachable from the internet.
  • The Webservice lives at https://your-domain/api/ (or https://your-domain/your-folder/api/). That address needs PrestaShop's URL rewriting: the .htaccess file on Apache, or PrestaShop's rewrite rules on nginx. If the sidebar says the Webservice was not found, ask your host to apply them.
  • Firewalls, CDNs and security modules (Cloudflare, a WAF, a hosting firewall) must let Zendesk's servers reach /api/. Allow Zendesk's IP ranges, published at https://support.zendesk.com/hc/en-us/articles/4408842860186, for that path.

3. Install and configure Caddywell

Install from the Zendesk Marketplace and choose the plan for your number of agents and admins (section 7). Then in Admin Center > Apps and integrations > Zendesk Support apps > Caddywell:

SettingWhat to enter
Store nameShown in the sidebar and, with several stores, in ticket notes
Store domainThe domain only, lowercase: shop.example.com. No https://, no path, no port
Base pathOnly for a sub-folder install, like /shop. Do not add /api
Webservice keyThe key from section 1. Stored as a Zendesk secure setting
Back office URLOptional, your admin folder address like https://shop.example.com/admin123abc, for "Open in PrestaShop" links
Brands for this storeOptional, Zendesk brand ids whose tickets open this store first
Shops per brandOptional, for multistore: 360001: 1; 360002: 2, 3 (brand id: shop ids)
Stores 2 and 3The same settings for a second and third PrestaShop installation
User field with the PrestaShop customer idOptional, a Zendesk user field key holding the customer id
Who may take actionsadmin (default), agent, custom role ids, group:<id>, comma separated
Allow status changes, tracking numbers, order messagesSwitch each action type on or off
Statuses agents may setOptional allow-list of status ids, like 3, 4, 5, 6
PrestaShop employee id for messagesThe employee messages are written as (Advanced Parameters > Team, ID column). Messages stay off until it is set
Language id for status namesOptional; empty uses the first language
Canceled and Refunded status idsPrestaShop's defaults are 6 and 7; change only if yours differ

Zendesk never sends the key to agents' browsers. It adds the key to requests on their way to the store domain you entered, and only to that domain.

Find a status id in Shop Parameters > Order Settings > Statuses (the ID column). Find a shop id in Advanced Parameters > Multistore. Find a brand id in Zendesk Admin Center > Account > Brand management > Brands (the number in the brand's URL).

4. Using the sidebar

  • Matching: every email address on the requester's Zendesk profile is searched, across all shops. Guest checkouts are included (PrestaShop stores them as guest customers). In a multistore where each shop keeps its own customer accounts, every account with the address is found.
  • Orders: newest first, five at a time. Each shows its reference, id, date, total, status and, in a multistore, its shop. Click one to open it.
  • Order details: items with what was refunded or returned, totals, payments with transaction ids, the delivery address, carrier and tracking link, status history, credit slips and messages.
  • Lifetime value: what PrestaShop recorded as paid on validated orders, minus credit slips, per currency. With more than 50 orders it covers the latest 50 and says so.
  • Insert status in reply: adds the reference, status, carrier and tracking link to your reply.
  • Lookup: type an order reference (XKBKNABJK), an order id (1043) or an email.
  • Shops per brand: a brand mapped to shops shows those shops' orders first; click "Show all shops" for the rest.

5. Actions

Every action opens a confirmation that says exactly what will happen. Nothing is sent until you confirm, and each action adds an internal note and a tag to the ticket. Actions work on tickets only (not on a new ticket or a user profile), for the roles and groups in "Who may take actions".

ActionWhat PrestaShop doesTag
Change statusThe same steps as the back office status dropdown: stock, invoice and delivery slip numbers, a payment record when the new status counts as paid, your modules' reactions. Optional: the status emailcaddywell_status
Add or change trackingSaves the number on the order's carrier. Optional: the "in transit" email with the numbercaddywell_tracking
Add messageAdds a message to the order's thread (starting one if needed): team only, or visible to the customer with the order in their account. PrestaShop does not email it, so also reply in Zendeskcaddywell_message

Rules:

  • A canceled or refunded order only changes status again for admins.
  • The status list follows "Statuses agents may set" when you fill it in.
  • A status that counts as paid on an unpaid order, canceling a paid order, and statuses that belong to a module show a warning first.

Refunds

PrestaShop's Webservice has no refund operation: standard and partial refunds (credit slips, refunded quantities, restocking, vouchers, payment module refunds) only run in the back office. Caddywell therefore never moves money. It shows each order's credit slips and refunded quantities, lifetime value net of refunds, can set the Refunded status (it warns that no money moves), and Open in PrestaShop takes you to the order, where Partial refund and Standard refund are.

6. Troubleshooting

The sidebar saysWhat to do
Did not accept the Webservice keyCheck that the key in Caddywell is the one in Advanced Parameters > Webservice and that its status is Yes
The Webservice key may not do thisTick the permission the message names (section 1)
The Webservice is turned offAdvanced Parameters > Webservice > Enable PrestaShop's webservice: Yes
Not enabled for this shopMultistore: tick every shop under the key's Shop association
The Webservice was not foundCheck the domain and base path, and that /api is rewritten (section 2)
A firewall or CDN blocked Zendesk, or answered with a web pageAllow Zendesk's IP ranges for /api/ (section 2)
No orders in the store for an emailThe order uses another address. Use the lookup box, add the address to the Zendesk user, or set up the user field mapping
No status change offeredYour role or group is not in "Who may take actions", status changes are off, the order is canceled or refunded (admins only), or this is a new ticket or a user profile
Messages are missingSet the PrestaShop employee id in the settings
Plan too small for this accountYour Zendesk account has more agents and admins than the plan covers. An admin changes the plan in the Zendesk Marketplace; the order list keeps working meanwhile

7. Plans and billing

PlanPriceZendesk agents and admins
Starter$32 per monthup to 3
Team$75 per monthup to 10
Business$175 per monthup to 25
Scale$7.50 per agent per monthmore than 25

Every plan has every feature and up to three PrestaShop installations. 14-day trial: Zendesk asks for a card at install and starts billing when the trial ends unless you uninstall. No free plan. Billed monthly by Zendesk. Change plan or uninstall in Zendesk at any time.

8. Data and privacy

Caddywell runs in your agents' browsers. It has no Great Work server, keeps no copies of your data, has no export, sends nothing to Great Work or anyone else and uses no AI. It reads orders only while the sidebar is open. Privacy policy: https://greatwork.company/apps/caddywell-for-prestashop/privacy.

9. Uninstalling

Uninstall in Admin Center. The stored keys are deleted with the app. Also delete the Webservice key in PrestaShop. Internal notes and caddywell_* tags already on tickets stay.

Support

hello@greatwork.company. We reply within one business day.

PrestaShop is a registered trademark of PrestaShop SA. Caddywell is not made or endorsed by PrestaShop SA or Zendesk.