MCP App Store
by KeenEthics

Overview

Pelli is the all-in-one back office for professional photographers: client galleries, CRM, quotes, invoices, contracts, bookings, gift cards and marketing. Connect your Pelli account to ChatGPT and run your studio in plain language. What you can do - See where your business stands: revenue, unpaid invoices, upcoming appointments, gallery views and client activity. - Prepare paperwork faster: draft quotes, invoices and deposit invoices, and review every document before anything is sent. - Keep your CRM tidy: find clients, add contacts and notes, organize your task board. - Manage galleries and bookings: create galleries, give clients access, adjust your services and availability. Safe by design - You choose the permissions when you connect: view only, create and edit, and — only if you turn it on — send documents to your clients and record payments. - Document and business actions support previews before confirmation. Sending to clients requires a matching preview and the send permission. Automation tools only create or edit inactive drafts; activation happens in Pelli. - Pelli never moves money: it records payments you already received and sends invoices you approved. - See every action and disconnect ChatGPT at any time from Pelli › Settings › AI assistants. Requires a Pelli Pro or Ultra account.

Tools

addClientNote

ChatGPT
Add a note to a client. MANDATORY TWO-STEP PROCESS: 1. FIRST call with confirmed=false to show preview 2. THEN wait for user to say "oui/ok/confirme" 3. ONLY THEN call again with confirmed=true to add NEVER set confirmed=true on first call.

addClientToGallery

ChatGPT
Give a client access to a gallery. MANDATORY TWO-STEP PROCESS: 1. FIRST call with confirmed=false to show preview 2. THEN wait for user to say "oui/ok/confirme" 3. ONLY THEN call again with confirmed=true to add NEVER set confirmed=true on first call.

addClientsToGallery

ChatGPT
Give MULTIPLE clients access to a gallery at once. MANDATORY TWO-STEP (confirmed=false → confirmed=true).

createAppointmentType

ChatGPT
Create a new appointment type (prestation). MANDATORY TWO-STEP PROCESS: 1. FIRST call with confirmed=false to show preview 2. THEN wait for user to say "oui/ok/confirme" 3. ONLY THEN call again with confirmed=true to create NEVER set confirmed=true on first call. Price is in cents.

createAutomationDraft

ChatGPT
Create a custom DRAFT automation, read as a sentence: "WHEN [trigger] → DO [steps] — stops if [exit rules]". It is created as a DRAFT only and is NEVER activated: the photographer must review it and activate it himself on the Automations page (/dashboard/automations). If the config is invalid, the tool returns readable issues — fix them and call again. Ultra-only feature. STEPS run in order. Kinds: "wait" (delay before the next step), "send_email" / "send_sms" (message to the client — leave mode "approval" so the first sends land in the photographer's validation queue, unless he explicitly wants automatic sending), "create_task" (internal task), "notify" (internal notification). Personalize messages with variables like {clientName}, {photographerName}, {businessName} — only the ones allowed for this trigger's subject (an unknown variable is rejected).

createAutomationFromRecipe

ChatGPT
Create a DRAFT automation from a recipe key (see listAutomationRecipes). It is created as a DRAFT only and is NEVER activated. Activation is a human action: after creating it, tell the photographer to review the message and activate it himself on the Automations page (/dashboard/automations). Ultra-only feature.

createCampaign

ChatGPT
Create a DRAFT campaign (email or SMS). Does NOT send it. MANDATORY TWO-STEP PROCESS: 1. FIRST call with confirmed=false to show preview 2. THEN wait for user to say "oui/ok/confirme" 3. ONLY THEN call again with confirmed=true to create the draft NEVER set confirmed=true on first call. The user will finish editing and send from the interface.

createClient

ChatGPT
Create a new client. MANDATORY TWO-STEP PROCESS: 1. FIRST call with confirmed=false to show preview to user 2. THEN wait for user to say "oui/ok/confirme" 3. ONLY THEN call again with confirmed=true to actually create NEVER set confirmed=true on first call.

createClients

ChatGPT
Create MULTIPLE clients at once from a pasted list. ALWAYS use this (not createClient N times) when the user provides several contacts. MANDATORY TWO-STEP: confirmed=false → single recap, then confirmed=true → create all.

createContractTemplate

ChatGPT
Create a new contract template. MANDATORY TWO-STEP PROCESS: 1. FIRST call with confirmed=false to show preview (nothing is created) 2. THEN wait for user to say "oui/ok/confirme" 3. ONLY THEN call again with confirmed=true to actually create NEVER set confirmed=true on first call. ALWAYS start with confirmed=false. IMPORTANT: Call getContractBestPractices FIRST to ensure proper clauses. You can also define optional mandatory Yes/No questions the client must answer at signing (see "questions").

createDepositInvoice

ChatGPT
Create a DEPOSIT (acompte) invoice from an existing quote, for a given percentage of the quote total. Creates a draft invoice. Identify the quote by quoteId OR documentNumber. MANDATORY TWO-STEP (confirmed=false → confirmed=true).

createGallery

ChatGPT
Create a new empty gallery. MANDATORY TWO-STEP PROCESS: 1. FIRST call with confirmed=false to show preview 2. THEN wait for user to say "oui/ok/confirme" 3. ONLY THEN call again with confirmed=true to create NEVER set confirmed=true on first call.

createGiftCardOffer

ChatGPT
Create a gift card OFFER sold online on the public page (requires the Pro/Ultra plan AND a connected Stripe account). This is NOT an issued card — use createGiftCard for that. MANDATORY TWO-STEP (confirmed=false → confirmed=true).

createInvoice

ChatGPT
Create a new invoice. MANDATORY TWO-STEP PROCESS: 1. FIRST call with confirmed=false to show preview to user (returns preview data, does NOT create anything) 2. THEN wait for user to say "oui/ok/confirme" 3. ONLY THEN call again with confirmed=true to actually create the invoice NEVER set confirmed=true on first call. ALWAYS start with confirmed=false.

createQuote

ChatGPT
Create a new quote. MANDATORY TWO-STEP PROCESS: 1. FIRST call with confirmed=false to show preview to user (returns preview data, does NOT create anything) 2. THEN wait for user to say "oui/ok/confirme" 3. ONLY THEN call again with confirmed=true to actually create the quote NEVER set confirmed=true on first call. ALWAYS start with confirmed=false.

createTask

ChatGPT
Create a new task. MANDATORY TWO-STEP PROCESS: 1. FIRST call with confirmed=false to show preview 2. THEN wait for user to say "oui/ok/confirme" 3. ONLY THEN call again with confirmed=true to create NEVER set confirmed=true on first call.

getAppointment

ChatGPT
Get full details of an appointment: client info, type, date/time, status, notes.

getAppointmentType

ChatGPT
Get full details of an appointment type: pricing, location, schedule, confirmation message.

getAutomation

ChatGPT
Get the full configuration of one automation: trigger, ordered steps, exit rules. Ultra-only feature.

getBookingOverview

ChatGPT
Get a booking overview: upcoming appointments, today's schedule, weekly summary.

getCampaignStats

ChatGPT
Get detailed statistics for a sent campaign: delivery rate, open rate, click rate.

getClientDetails

ChatGPT
Retrieve detailed information about a client: contact info, linked galleries, history.

getClientNotes

ChatGPT
Read notes attached to a client.

getClientStats

ChatGPT
Retrieve financial statistics for a client: revenue, pending amounts, quotes/invoices/orders count.

getContract

ChatGPT
Get full details of a contract: sections, status, signatures, dates, and the client's Yes/No answers to the signing questions.

getContractBestPractices

ChatGPT
Get best practices and recommended clauses for photography contracts. ALWAYS call this tool BEFORE creating a contract template to ensure essential clauses are included. Returns: essential clauses, recommended sections, clause examples, and warnings.

getGalleryActivity

ChatGPT
Get recent activity for a gallery: views, likes, superlikes, downloads, comments.

getGalleryClients

ChatGPT
List clients who have access to a gallery: email, activity (likes, downloads).

getGalleryDetails

ChatGPT
Get detailed information about a gallery: title, status, date, settings, photo/video counts.

getGalleryEmailHistory

ChatGPT
Get email history for a gallery: invitations, reminders, notifications with dates and status.

getGalleryStats

ChatGPT
Get complete statistics for a gallery: photo/video counts, views, likes, downloads, comments.

getGiftCard

ChatGPT
Get one gift card in detail, including its public reveal link. Accepts the id OR the human card number ("2026-0007" or just "7"). Read-only, no confirmation needed.

getGlobalStats

ChatGPT
Get a business overview: total galleries, photos, videos, clients, revenue this year.

getInvoice

ChatGPT
Retrieve full details of an invoice by internal ID OR by human number ("FAC-2026-0002" or "2"): line items, amounts, payments, status.

getOrder

ChatGPT
Retrieve order details: items, amounts, status, history.

getOverview

ChatGPT
Retrieve a financial overview: pending invoices, quotes awaiting signature, unprocessed orders.

getPelliContext

ChatGPT
Get the working context of this Pelli account BEFORE anything else: studio name, plan, currency, country, VAT status, today's date, dashboard link patterns, the scopes granted to this connection, and the conventions to follow (amounts in cents, preview-then-confirm protocol). Call this once at the start of a session.

getQuote

ChatGPT
Retrieve full details of a quote by internal ID OR by human number ("DEV-2026-0006" or "6"): line items, amounts, status, dates.

getRevenueReport

ChatGPT
Get a monthly revenue report breakdown (invoices + orders).

getSchedules

ChatGPT
Get all booking schedules (availability): weekly hours, buffer times, booking window.

getStorageUsage

ChatGPT
Get storage usage: total images, videos, and space used.

getTask

ChatGPT
Get full details of a task including description.

listAppointmentTypes

ChatGPT
List appointment types (services/prestations). Shows name, duration, price, location.

listAppointments

ChatGPT
List appointments with optional filters. Statuses: pending, confirmed, cancelled, completed, no_show. Call WITHOUT parameters to get upcoming appointments.

listAutomationRecipes

ChatGPT
List the ready-made automation recipes (instant reply to a contact request, quote follow-up, invoice reminders, gallery download/expiry reminders, review request, booking prep guide, no-show SMS reminder, sneak peek, anniversary rebooking, order upsell...). Returns each recipe's key, pack, trigger and whether it needs the online store, with localized names/descriptions. Call this FIRST to pick the right recipe before createAutomationFromRecipe. Automations are an ULTRA-only feature.

listAutomations

ChatGPT
List the photographer's automations (id, name, status draft/active/paused, trigger, recipe key). Ultra-only feature.

listCampaigns

ChatGPT
List email/SMS campaigns. Statuses: draft, sending, sent, failed.

listContractTemplates

ChatGPT
List existing contract templates. Use this to see available templates before suggesting to create a new one.

listContracts

ChatGPT
List contracts with optional filters. Statuses: draft, sent, viewed, signed, declined, expired

listGiftCardOffers

ChatGPT
List the gift card OFFERS sold on the public page {slug}.pelli.io/gift-cards (with stock and sales). An offer is a product; a gift card is an issued card. Read-only, no confirmation needed.

listGiftCards

ChatGPT
List the gift cards ISSUED by the photographer (created manually or sold online). Statuses: active, used, expired, cancelled. Unpaid checkout reservations are never listed. Read-only, no confirmation needed.

listInvoices

ChatGPT
List invoices with optional filters. Statuses: draft, sent, viewed, paid, partially_paid, overdue, cancelled

listOrders

ChatGPT
List store orders with filters. Statuses: unprocessed, preparing, sent, canceled, completed. Payment: unpaid, paid, refunded, partially_refunded

listQuotes

ChatGPT
List quotes with optional filters. Statuses: draft, sent, viewed, signed, declined, expired

moveTask

ChatGPT
Move task to another column. MANDATORY TWO-STEP PROCESS. Columns: todo, in_progress, waiting_client, done 1. FIRST call with confirmed=false to show preview 2. THEN wait for user to say "oui/ok/confirme" 3. ONLY THEN call again with confirmed=true to move NEVER set confirmed=true on first call.

searchClients

ChatGPT
Search for clients by name, email, or company.

searchGalleries

ChatGPT
Search for galleries by title/slug, or list recent galleries if no query. Use this tool when the user asks about galleries. Call WITHOUT query to get recent galleries. IMPORTANT: Always call this tool FIRST before asking the user for more details.

searchTasks

ChatGPT
Search/filter tasks, or list all. Use FIRST before asking user for task details. Call WITHOUT parameters to get all tasks.

updateAppointmentType

ChatGPT
Update an appointment type (prestation). MANDATORY TWO-STEP PROCESS: 1. FIRST call with confirmed=false to show preview of changes 2. THEN wait for user to say "oui/ok/confirme" 3. ONLY THEN call again with confirmed=true to update NEVER set confirmed=true on first call. Only include fields to change. Price in cents.

updateAutomationDraft

ChatGPT
Update a DRAFT automation. Only DRAFTS can be edited: if the automation is active or paused, the tool refuses and you must tell the photographer to edit it himself on the Automations page (/dashboard/automations). Only pass the fields to change; the rest stays as is. This tool can NEVER activate or pause an automation — that stays a human action. Ultra-only feature.

updateClient

ChatGPT
Update client information. MANDATORY TWO-STEP PROCESS: 1. FIRST call with confirmed=false to show preview of changes 2. THEN wait for user to say "oui/ok/confirme" 3. ONLY THEN call again with confirmed=true to update NEVER set confirmed=true on first call. Only include fields to change.

updateGiftCardOffer

ChatGPT
Update a gift card OFFER (name, price, description, validity, stock). To take an offer OFFLINE set isActive=false; to put it back on sale set isActive=true. Already sold cards stay valid. MANDATORY TWO-STEP (confirmed=false → confirmed=true).

updateInvoice

ChatGPT
Update a DRAFT invoice (title, notes, terms, payment instructions, due date, or line items). Only drafts can be modified. Identify by invoiceId OR documentNumber ("FAC-2026-0002"). MANDATORY TWO-STEP (confirmed=false → confirmed=true).

updateQuote

ChatGPT
Update a DRAFT quote (title, notes, terms, validity, or line items). Only drafts can be modified — if it's sent/signed, say so and propose creating a new quote. Identify the quote by quoteId OR documentNumber ("DEV-2026-0006"). MANDATORY TWO-STEP: 1. confirmed=false → preview 2. confirmed=true → apply (only after the user validates)

updateSchedule

ChatGPT
Update a booking schedule (availability). MANDATORY TWO-STEP PROCESS: 1. FIRST call with confirmed=false to show preview 2. THEN wait for user to say "oui/ok/confirme" 3. ONLY THEN call again with confirmed=true to update NEVER set confirmed=true on first call. dayOfWeek: 0=Sunday, 1=Monday, ..., 6=Saturday. Times in HH:MM format.

updateTask

ChatGPT
Update a task. MANDATORY TWO-STEP PROCESS. Only include fields to change. 1. FIRST call with confirmed=false to show preview 2. THEN wait for user to say "oui/ok/confirme" 3. ONLY THEN call again with confirmed=true to update NEVER set confirmed=true on first call.

Capabilities

Writes

Example Prompts

Click any prompt to copy it.

Similar Apps