addClientNote
ChatGPTAdd 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
ChatGPTGive 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
ChatGPTGive MULTIPLE clients access to a gallery at once. MANDATORY TWO-STEP (confirmed=false → confirmed=true).
createAppointmentType
ChatGPTCreate 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
ChatGPTCreate 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
ChatGPTCreate 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
ChatGPTCreate 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
ChatGPTCreate 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
ChatGPTCreate 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
ChatGPTCreate 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
ChatGPTCreate 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
ChatGPTCreate 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
ChatGPTCreate 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
ChatGPTCreate 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
ChatGPTCreate 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
ChatGPTCreate 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
ChatGPTGet full details of an appointment: client info, type, date/time, status, notes.
getAppointmentType
ChatGPTGet full details of an appointment type: pricing, location, schedule, confirmation message.
getAutomation
ChatGPTGet the full configuration of one automation: trigger, ordered steps, exit rules. Ultra-only feature.
getBookingOverview
ChatGPTGet a booking overview: upcoming appointments, today's schedule, weekly summary.
getCampaignStats
ChatGPTGet detailed statistics for a sent campaign: delivery rate, open rate, click rate.
getClientDetails
ChatGPTRetrieve detailed information about a client: contact info, linked galleries, history.
getClientNotes
ChatGPTRead notes attached to a client.
getClientStats
ChatGPTRetrieve financial statistics for a client: revenue, pending amounts, quotes/invoices/orders count.
getContract
ChatGPTGet full details of a contract: sections, status, signatures, dates, and the client's Yes/No answers to the signing questions.
getContractBestPractices
ChatGPTGet 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
ChatGPTGet recent activity for a gallery: views, likes, superlikes, downloads, comments.
getGalleryClients
ChatGPTList clients who have access to a gallery: email, activity (likes, downloads).
getGalleryDetails
ChatGPTGet detailed information about a gallery: title, status, date, settings, photo/video counts.
getGalleryEmailHistory
ChatGPTGet email history for a gallery: invitations, reminders, notifications with dates and status.
getGalleryStats
ChatGPTGet complete statistics for a gallery: photo/video counts, views, likes, downloads, comments.
getGiftCard
ChatGPTGet 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
ChatGPTGet a business overview: total galleries, photos, videos, clients, revenue this year.
getInvoice
ChatGPTRetrieve full details of an invoice by internal ID OR by human number ("FAC-2026-0002" or "2"): line items, amounts, payments, status.
getOrder
ChatGPTRetrieve order details: items, amounts, status, history.
getOverview
ChatGPTRetrieve a financial overview: pending invoices, quotes awaiting signature, unprocessed orders.
getPelliContext
ChatGPTGet 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
ChatGPTRetrieve full details of a quote by internal ID OR by human number ("DEV-2026-0006" or "6"): line items, amounts, status, dates.
getRevenueReport
ChatGPTGet a monthly revenue report breakdown (invoices + orders).
getSchedules
ChatGPTGet all booking schedules (availability): weekly hours, buffer times, booking window.
getStorageUsage
ChatGPTGet storage usage: total images, videos, and space used.
getTask
ChatGPTGet full details of a task including description.
listAppointmentTypes
ChatGPTList appointment types (services/prestations). Shows name, duration, price, location.
listAppointments
ChatGPTList appointments with optional filters. Statuses: pending, confirmed, cancelled, completed, no_show. Call WITHOUT parameters to get upcoming appointments.
listAutomationRecipes
ChatGPTList 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
ChatGPTList the photographer's automations (id, name, status draft/active/paused, trigger, recipe key). Ultra-only feature.
listCampaigns
ChatGPTList email/SMS campaigns. Statuses: draft, sending, sent, failed.
listContractTemplates
ChatGPTList existing contract templates. Use this to see available templates before suggesting to create a new one.
listContracts
ChatGPTList contracts with optional filters. Statuses: draft, sent, viewed, signed, declined, expired
listGiftCardOffers
ChatGPTList 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
ChatGPTList 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
ChatGPTList invoices with optional filters. Statuses: draft, sent, viewed, paid, partially_paid, overdue, cancelled
listOrders
ChatGPTList store orders with filters. Statuses: unprocessed, preparing, sent, canceled, completed. Payment: unpaid, paid, refunded, partially_refunded
listQuotes
ChatGPTList quotes with optional filters. Statuses: draft, sent, viewed, signed, declined, expired
moveTask
ChatGPTMove 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
ChatGPTSearch for clients by name, email, or company.
searchGalleries
ChatGPTSearch 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
ChatGPTSearch/filter tasks, or list all. Use FIRST before asking user for task details. Call WITHOUT parameters to get all tasks.
updateAppointmentType
ChatGPTUpdate 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
ChatGPTUpdate 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
ChatGPTUpdate 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
ChatGPTUpdate 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
ChatGPTUpdate 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
ChatGPTUpdate 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
ChatGPTUpdate 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
ChatGPTUpdate 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.