Local services & SaaS
Faire
Orders, inventory, reorders and messages for wholesale brands.
12 endpoints
Your AI agent books appointments from WhatsApp messages, moves a stylist's day when they are off and lists clients to win back. Sign in to DINGG once in your own Cloud Browser. No API needed.
9 tools Read and write
DINGG has no MCP server, no ChatGPT or Claude app and no public API: we found no developer documentation or API keys, only built-in integrations (checked 8 Nov 2026). Cotlet runs 9 DINGG tools hosted, over MCP for agents and REST for scripts, in your own DINGG login.
| What you need | DINGG API | By hand | Cotlet |
|---|---|---|---|
| Appointments and free slots | No API | Yes, one by one | Yes |
| Book or move a booking | No API | Yes, one by one | Yes, after your OK |
| Clients to win back | No API | Reports, by hand | Yes |
| Ask in ChatGPT or Claude | No | No | Yes |
Checked 8 Nov 2026. Sources: DINGG home · DINGG barbershop software · DINGG pricing
Once, in a browser we host for you.
One address in its settings.
It drafts the work, you OK what customers get.
We never keep your DINGG password, and no booking, move or cancellation goes through until you approve it. Who can see your session
Sign in to DINGG in a Cloud Browser. Create a Cotlet account, open DINGG in its Cloud Browser, sign in with your owner or manager login and press Enable for agents.
Add the Cotlet address. Enter https://cotlet.dev/mcp/v1 as the MCP server or connector URL in your agent.
Let the agent in. Chat apps open a Cotlet sign-in page. Editors, n8n and scripts send an API key made in the console.
DINGG shares the address https://cotlet.dev/mcp/v1 with every other app you enable, so one connector covers them all. Turned DINGG on after connecting? Refresh the connector and the 9 tools appear.
Settings > Connectors > Add custom connector
URL: https://cotlet.dev/mcp/v1/connect
Claude Code:
claude mcp add --transport http cotlet \
https://cotlet.dev/mcp/v1 \
--header "Authorization: Bearer $COTLET_API_KEY" Settings > Apps & Connectors > Create
MCP server URL: https://cotlet.dev/mcp/v1/connect
Authentication: OAuth // ~/.cursor/mcp.json
{
"mcpServers": {
"cotlet": {
"url": "https://cotlet.dev/mcp/v1",
"headers": { "Authorization": "Bearer ${env:COTLET_API_KEY}" }
}
}
} # ~/.codex/config.toml
[mcp_servers.cotlet]
url = "https://cotlet.dev/mcp/v1"
bearer_token_env_var = "COTLET_API_KEY" MCP Client Tool (inside an AI Agent)
Transport: HTTP Streamable
URL: https://cotlet.dev/mcp/v1
Auth: Bearer, <your key>
Tool: dingg_read Make: MCP Client > Call a tool
Zapier: MCP Client by Zapier > Run Tool
Server URL: https://cotlet.dev/mcp/v1
Token: <your key>
Tool: dingg_write Free slots come from the calendar and the services each stylist offers. Bookings, moves and cancellations wait for your OK.
Returns appointments with client, service, staff member, start time and status, earliest first.
MCP calldingg_read → list_appointments
REST endpointGET https://cotlet.dev/api/v1/dingg/appointments
| Name | Type | Description |
|---|---|---|
| date_from string required | string | ISO date. |
| date_to string | string | ISO date. Default: date_from. |
| staff string | string | Staff member name. |
| page integer | integer | Page number. Default: 1. |
{
"date_from": "date from"
} {
"appointments": [
{
"appointment_id": "D-51230",
"client": "Riya Sharma",
"service": "Hair spa",
"staff": "Kabir",
"start": "2026-11-12T11:00",
"status": "Confirmed"
}
],
"page": 1
} Reads the calendar and returns start times where the service fits, per staff member who offers it.
MCP calldingg_read → find_free_slots
REST endpointGET https://cotlet.dev/api/v1/dingg/free-slots/find
| Name | Type | Description |
|---|---|---|
| service string required | string | Service name as in your menu. |
| date string required | string | ISO date. |
| staff string | string | Staff member name. |
{
"service": "service",
"date": "date"
} {
"service": "Haircut and beard trim",
"slots": [
{
"staff": "Kabir",
"start": "2026-11-13T17:00"
},
{
"staff": "Imran",
"start": "2026-11-13T18:30"
}
]
} Creates the appointment on the calendar. Your DINGG notification settings decide whether the client gets a confirmation. By default you confirm each call; you can switch that off for this tool.
MCP calldingg_write → book_appointment
REST endpointPOST https://cotlet.dev/api/v1/dingg/clients/{client_id}/appointments
| Name | Type | Description |
|---|---|---|
| client_id string required | string | Client ID from list_clients. |
| service string required | string | Service name. |
| staff string required | string | Staff member name. |
| start string required | string | ISO date and time from find_free_slots. |
{
"client_id": "DC-8930",
"service": "Haircut and beard trim",
"staff": "Kabir",
"start": "2026-11-13T17:00"
} {
"appointment_id": "D-51288",
"client": "Arjun Mehta",
"service": "Haircut and beard trim",
"staff": "Kabir",
"start": "2026-11-13T17:00",
"status": "Confirmed"
} Moves the appointment on the calendar. Your notification settings decide whether the client hears about it. By default you confirm each call; you can switch that off for this tool.
MCP calldingg_write → reschedule_appointment
REST endpointPOST https://cotlet.dev/api/v1/dingg/appointments/{appointment_id}/reschedule
| Name | Type | Description |
|---|---|---|
| appointment_id string required | string | Appointment ID from list_appointments. |
| start string required | string | New ISO date and time. |
| staff string | string | New staff member. Default: unchanged. |
{
"appointment_id": "appointment_8c41d2",
"start": "start"
} {
"appointment_id": "D-51230",
"start": "2026-11-14T12:00",
"staff": "Imran",
"status": "Confirmed"
} Marks the appointment cancelled and frees the slot for walk-ins or other bookings. By default you confirm each call; you can switch that off for this tool.
MCP calldingg_write → cancel_appointment
REST endpointPOST https://cotlet.dev/api/v1/dingg/appointments/{appointment_id}/cancel
| Name | Type | Description |
|---|---|---|
| appointment_id string required | string | Appointment ID from list_appointments. |
| reason string | string | Cancellation reason. |
{
"appointment_id": "appointment_8c41d2"
} {
"appointment_id": "D-51230",
"status": "Cancelled"
} Search matches name and phone, so a regular is found before a duplicate is made. Filter by days since the last visit.
Returns clients with ID, phone and last visit. Filter by days since the last visit to find clients to win back.
MCP calldingg_read → list_clients
REST endpointGET https://cotlet.dev/api/v1/dingg/clients
| Name | Type | Description |
|---|---|---|
| query string | string | Name or phone. |
| not_visited_days integer | integer | Only clients with no visit in this many days. |
| page integer | integer | Page number. Default: 1. |
{
"clients": [
{
"client_id": "DC-8812",
"name": "Riya Sharma",
"phone": "+91 98200 55142",
"last_visit": "2026-09-21"
}
],
"page": 1
} Returns the client record: contact details, past services with staff and dates, total spend and upcoming appointments.
MCP calldingg_read → get_client
REST endpointGET https://cotlet.dev/api/v1/dingg/clients/{client_id}
| Name | Type | Description |
|---|---|---|
| client_id string required | string | Client ID from list_clients. |
{
"client_id": "client_8c41d2"
} {
"client_id": "DC-8812",
"name": "Riya Sharma",
"history": [
{
"service": "Hair spa",
"staff": "Kabir",
"date": "2026-09-21"
}
],
"upcoming": []
} Creates the client record. Search list_clients first so a regular does not become a duplicate. Reaches no one, so it runs at once.
MCP calldingg_write → create_client
REST endpointPOST https://cotlet.dev/api/v1/dingg/clients
| Name | Type | Description |
|---|---|---|
| name string required | string | Full name. |
| phone string required | string | Mobile number. |
| email string | string | Email. |
{
"name": "Jane Doe",
"phone": "phone"
} {
"client_id": "DC-8930",
"name": "Arjun Mehta",
"phone": "+91 98190 55199"
} The service menu with durations and prices, so bookings use your exact service names.
Returns services with duration and price, so the agent books the exact service name.
MCP calldingg_read → list_services
REST endpointGET https://cotlet.dev/api/v1/dingg/services
| Name | Type | Description |
|---|---|---|
| category string | string | Service category. |
{
"services": [
{
"name": "Haircut and beard trim",
"duration_min": 45,
"price": "600.00"
}
]
} Your signed-in DINGG profile, AES-256-GCM encrypted, in Finland. No password.
The 9 DINGG tools, never the session cookie.
What your login sees: calendar, clients, services, bills.
Billing, payments, campaigns, staff payroll, deletes.
You sign in again yourself, in the same Cloud Browser.
Disable for agents, reset the browser, or change your DINGG password.
Cotlet never types your password: you sign in yourself, and the agent only uses the session. Our site scores A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory (live results).
When DINGG moves a button on the calendar or renames a booking status, we fix the tool and your agent calls it the same way. status.cotlet.dev checks the site, console and API every 3 minutes.
| Action | Undo |
|---|---|
| Book an appointment | Yes, cancel it |
| Move an appointment | Move it back; a message already sent stays sent |
| Cancel an appointment | Book it again |
| Add a client | Yes, edit it in DINGG |
3 of 9 tools ask first: book_appointment, reschedule_appointment, cancel_appointment. A new client reach no customer, so they run at once. You can turn the wait off per tool once you trust a routine.
{
"name": "book_appointment",
"arguments": {
"client_id": "DC-8930",
"service": "Haircut and beard trim",
"staff": "Kabir",
"start": "2026-11-13T17:00"
}
} curl -X POST https://cotlet.dev/api/v1/dingg/clients/DC-8930/appointments \
-H "Authorization: Bearer $COTLET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"service":"Haircut and beard trim","staff":"Kabir","start":"2026-11-13T17:00"}' {
"appointment_id": "D-51288",
"client": "Arjun Mehta",
"service": "Haircut and beard trim",
"staff": "Kabir",
"start": "2026-11-13T17:00",
"status": "Confirmed"
} A cron job or n8n flow can call the same tools over REST at /api/v1/dingg with the same key and price, in JSON. Failed calls are free. Each tool row above shows its REST path.
About $53 a monthfor a barbershop with 4 stylists, 9,100 credits. Your DINGG plan stays as it is.
| Job | Calls | Credits |
|---|---|---|
| Booking from a message | 4 × 150 | 6,000 |
| Booking moved | 3 × 30 | 900 |
| Day's bookings checked | 1 × 30 | 300 |
| Clients to win back, weekly | 10 × 4 | 400 |
| Cloud Browser, 30 days | 1,500 | |
| Total | 9,100 |
DINGG publishes no booking counts, so the month is our example. Dollars at the $29 pack rate.
| Credits | Price, one time | Calls at 10 credits | Per 1,000 credits |
|---|---|---|---|
| 5,000 | $29 | 500 | $5.80 |
| 15,000 | $79 | 1,500 | $5.27 |
| 32,000 | $149 | 3,200 | $4.66 |
| 60,000 | $249 | 6,000 | $4.15 |
Only successful calls use credits; failed calls and timeouts cost nothing. At a balance of 0 calls pause, never a surprise charge. Authenticate with the Authorization: Bearer header.
| Option | What it does | Where it stops |
|---|---|---|
| DINGG built-in AI assistant | Answers and books inside DINGG and on WhatsApp. | Works inside DINGG, not in ChatGPT, Claude or n8n. |
| By hand | Every screen of DINGG, one booking at a time. | Your front desk's time. |
We found no GitHub MCP server or Zapier app for DINGG. To book and reschedule from ChatGPT or Claude, Cotlet works in the DINGG account you already have.
Prefer code? Our public repo has a ready DINGG MCP config for Claude Code, ChatGPT and Cursor, an agent skill and a small command-line tool. Add your Cotlet API key and your agent works in your own DINGG account.
Take Group sp. z o.o. runs Cotlet. It is a software company registered in Poland, EU (VAT PL6342984273), in business since 2019, led by its founders Bart Krawczyk (Co-founder, CTO) and Jake Slugocki (Co-founder, SEO, sales and marketing). Questions about the DINGG tools go to contact@cotlet.dev.
Sign up free at https://cotlet.dev, open DINGG under Integrations in the console and sign in to DINGG in its Cloud Browser. The trial starts with your first app and asks for no card.
Sign up at cotlet.dev, log in to DINGG once in its Cloud Browser and add Cotlet to ChatGPT or Claude, following the steps in your console. No API key is needed. ChatGPT and Claude then work in your DINGG account through Cotlet, in their phone apps too.
With Cotlet, ChatGPT, Claude and other AI agents handle jobs like these in DINGG: book appointments from WhatsApp messages; move bookings when a stylist is off; win back clients who stopped coming. You ask in plain words, and anything that reaches other people waits for your OK first.
No. DINGG has no ChatGPT or Claude connector of its own and DINGG has no official MCP server (checked 8 Nov 2026). Cotlet is an independent one that works in ChatGPT, Claude, Cursor and any MCP client, on your signed-in account.
Yes, with Cotlet. ChatGPT finds or adds the client, checks free slots for the service and books it with the stylist you name, after your OK.
Yes, with Cotlet. ChatGPT moves bookings to another time or stylist, for example when someone is on leave. Each move waits for your OK by default.
Yes, with Cotlet. ChatGPT searches clients by name or phone and lists those who have not visited for a while, with their last service.
No public one. DINGG publishes no API keys or developer documentation (checked 8 Nov 2026). Cotlet works through your own DINGG login instead.
Yes. Ask where the gaps are today and the agent reads each stylist's bookings, so the desk knows who can take a walk-in.
Only in how it is called. Both carry the same 9 tools, inputs, answers, API key and price. Agents use MCP; scripts and HTTP steps use REST.
No. Cotlet is independent and not affiliated with DINGG.
Free 7-day trial with 2,000 credits, no card needed.
May we use Google Analytics to see which pages help people? It sets cookies only if you accept. No ads, and we never sell data. Cookie policy