What an AI Support Tool Should Not Ask For

UpgatesSecurity

We submitted the Sensbot Email Assistant to the Upgates marketplace and it was rejected on the first review. Not for what it did. For what it asked to see.

We had declared 26 API permissions: orders, order history, order statuses, invoices, invoice PDFs, customers, stocks, availabilities, manufacturers, parameters, vouchers, shipments, payments. That list was not the product of a threat model. It was the product of not wanting to file a second request later.

The reviewer asked three questions we could not answer well.

Why poll categories once a day when the platform offers a webhook for them. Why read order history the assistant never opens. Why subscribe to a language-change event and then do nothing when it fires.

That last one was the uncomfortable find. Our install code had been registering for that event for months, and the controller that receives it drops it on the floor. It was traffic on the merchant’s shop, generated by us, delivered nowhere.

The list we ended up with

Ten entries, and the survivors got narrower rather than wider:

What we readWhen
Ordersat install, then on webhook, always inside a 45-day window
Productsat install, then on webhook, by product id
Categoriesthree times a week, only what changed
Articles (your help pages)once a week, only what changed
Languages, shop config, shop owneronce, at install
Webhooks (list, create, delete)at install and at uninstall

Sixteen entries were deleted outright. Invoices and invoice PDFs, the customer database, vouchers, payments, shipments, stock levels, manufacturers. An assistant that drafts a reply about an order needs the order and the product. It does not need your accounting.

The delete permission is worth a note, because it is the only destructive one on the list and it exists to clean up after ourselves. When you uninstall, we remove the webhooks we created, matched by our own URL so a different add-on’s subscriptions are never touched.

What to ask when you install anything

The permission screen is the one honest moment in an app install. After that you are trusting a settings page. Three questions worth asking before you click:

Does the tool read customer records it never shows you? Drafting a reply needs the order attached to that email address. It does not need a browsable customer table.

Does it read money? Invoices, payments and payouts are a separate class. A support tool has no business in them.

Does it poll, or does it subscribe? Polling on a schedule means it is reading your shop whether anything changed or not. Webhooks mean it reads when something happens. The second one is both cheaper for your server and narrower in what it sees.

We would not have cut any of this if the review had waved us through. The list was written by us, in good faith, and it was still too wide. That is the argument for the review existing, and it is the reason the answer to “why do you need this” should never be “in case we need it later”.

See how it works on Upgates

See it in action

Sensbot reads your store data.
Replies are ready in seconds.

Choose your platform

Install Sensbot from your store's app store