There are a few restrictions on what add-ons can do:

Change features in G Suite

The Add-ons framework is designed to enhance G Suite applications—not to add limits. Consequently, you can't alter existing features or lock down the G Suite document sharing model.

Charge users to install

We don't provide a way to charge users for add-ons, and add-ons can't include ads. However, you can roll your own payment system or call into an existing billing database.

Detect many events

Except for certain triggers, add-ons can't tell what a user does outside the add-on itself. For example, you can't detect when the user clicks on the Google Docs toolbar. It is possible to poll for changes in a file's contents from a sidebar's client-side code, although you'll always have a slight delay.

Use the Apps Script libraries feature

Including Apps Script projects as libraries in your add-on can cause your add-on to run more slowly. You can avoid this latency by copying the library code into a new file in your add-on script project.

If you do not have read-access to the library code, you can still include in your add-on as a library. If you do this, limit the number and frequnecy of calls to those libraries as much as possible to avoid unnecessary delays.

The latency described above only applies to Apps Script projects being used as server-side libraries. You can use client-side JavaScript libraries like jQuery freely without encountering this latency.