Find the setup you need
Open the complete feature walkthrough map
- Welcome: signup to first page
- Create a custom website
- Turn on live chat
- Bring your API credentials and email
- Create a customer dashboard
- Phone registration and employee assignment
- Appmint Mobile: CRM, chat, calls and events
Learn visually
Short chapters, real screens, diagrams, practice challenges and interactive knowledge checks. These introductory lessons are drafts; recording coverage is labeled throughout.
- Welcome to Appmint — 6 chapters.
- Big possibilities. Pocket-sized workspace. — 6 chapters.
The reference sections describe what exists. These tutorials describe what to do — each one a complete task, run end to end, with the responses the platform actually returns.
Tutorials
Ordered by how much of the platform you have to hold in your head at once. Read them in order the first time: each one assumes the credentials and helper from the one before it.
Example apps
When a single task is not enough, start from a complete app instead. Each one is a small application that does one thing properly, with a tutorial that builds it from an empty folder. Start with a working app explains how they fit together.
Three ways in
Almost every mistake in an AppMint integration comes from reaching for the wrong one of these, so it is worth being precise before you start.
┌─────────────────────────────┐
Your terminal ─────▶│ │
or build script │ │
│ │
Your server ─────▶ AppEngine │
(Node, Next, …) │ appengine.appmint.io │
│ │
A hosted page ─────▶ │
window.appmint └─────────────────────────────┘The server API, called directly. https://appengine.appmint.io/... with an orgid header and a token. This is what a deploy script, a migration, a backend job or your own server uses. It can do everything — it is the full surface.
The server API, called through your own server. The same thing, with your application in front deciding what a visitor is allowed to ask for. This is how a production frontend should work, and it is covered in Client Integration → The server proxy.
window.appmint, in a hosted page. A browser runtime that ships with every AppMint-rendered site. It already knows the org and carries the application's credentials, so a page can book an appointment or add to a cart with no backend of your own. See The browser runtime.
window.appmint is not a thin wrapper you can reproduce with fetch from any page. It is authenticated on an AppMint-hosted origin. The same call written as a raw fetch from a page you host elsewhere will get a 401 on every endpoint that is not explicitly public — see Take bookings, where exactly this distinction decides the design.
Which one for which job
| Job | Use |
|---|---|
| Deploy scripts, migrations, bulk imports | Server API, direct |
| Anything a visitor triggers that involves money, identity or someone else's data | Server API, through your server |
| A booking widget, a cart, a form on an AppMint-hosted page | window.appmint |
| A form on a site you host yourself | The public endpoints, or your own server |
What every tutorial assumes
An organization id. Your tenant. Every single request carries it, and without it you get a precise refusal rather than an empty result:
{
"code": "missing_orgid",
"statusCode": 400,
"error": "Organization ID is required. Pass orgid as a header, query param, or body field."
}Operator credentials — the email and password you use for Studio Manager.
curl and Python 3, or any HTTP client. Examples are given as curl for single calls and Python for anything you will run more than once.
Set these once and the commands on every page run as written:
export APPMINT_HOST="https://appengine.appmint.io"
export APPMINT_ORG="your-org-id"
export APPMINT_EMAIL="[email protected]"A note on the responses in these pages
Every request and response shown was run against a live organization while the page was written, and pasted back unedited apart from redacting ids and signatures. Where something behaves differently from how the code reads — an endpoint that looks protected but answers anonymously, a field that is documented but ignored — the tutorial says so and shows the call that proves it.
If a response here does not match what you get, trust yours and tell us. The platform moves.