Creators & communities
Studio Ninja
Leads, jobs, clients, invoices and contracts in Studio Ninja photography studio software.
9 endpoints
Iris Works has no publicly documented API that we could find, and no official Iris Works MCP server was found (checked 11 Nov 2026). Cotlet runs a hosted Iris Works MCP server with 55 tools that ChatGPT and Claude use in your own Iris Works account to send booking invitations and contracts, start session workflows and track invoices.
55 tools Read and write
No publicly documented Iris Works API was found: iris-works.com/api and /developers returned 404 on 11 Nov 2026 and the help center has no API article. Its integrations connect Square, Stripe and PayPal, calendar sync, QuickBooks, Pic-Time and Fundy Designer. No official Iris Works MCP server was found; the "Iris MCP" online belongs to heyiris.ai, a different product.
| What you need | Iris Works API | Workflows in Iris Works | Cotlet |
|---|---|---|---|
| Send a booking invitation | None found | Manual | In your account |
| Send a contract | None found | Preset steps | In your account |
| Record a payment | None found | Manual | In your account |
| Ask from ChatGPT or Claude | No | No | Yes |
Checked 11 Nov 2026. Sources: Iris Works integrations · Iris Works help center · What is a workflow? · Booking invitations · Send a contract
Once, in a browser we host for you.
One address in its settings.
Ask it to send Emma a booking invitation for newborn session times.
Your agent works in your own Iris Works studio account and its client list. Who can see your session
Sign in to Iris Works in a Cloud Browser. Open Iris Works in your Cotlet Cloud Browser and sign in at app.iris-works.com with your own Iris Works login.
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.
Iris Works shares the address https://cotlet.dev/mcp/v1 with every other app you enable, so one connector covers them all. Turned Iris Works on after connecting? Refresh the connector and the 55 tools appear.
Settings > Apps & Connectors > Create
MCP server URL: https://cotlet.dev/mcp/v1/connect
Authentication: OAuth 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" // ~/.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: iris_works_read View Clients, Leads and Marketing Contacts, Add a New Client, Edit a Client Profile and more.
Browse the Clients page, which separates clients, leads and marketing contacts, and open a Client Profile that holds contracts, questionnaires, sessions, invoices, galleries and notes.
MCP calliris_works_read → list_clients
REST endpointGET https://cotlet.dev/api/v1/iris-works/clients
| Name | Type | Description |
|---|---|---|
| filter string | string | Record, person, date range or status to review. |
{
"example": true,
"result": "Records for review"
} Create a client profile from the Clients tab using only a name and email, with an option to enroll the client in the email marketing list at creation.
MCP calliris_works_write → create_client
REST endpointPOST https://cotlet.dev/api/v1/iris-works/clients
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or setting selected in your account. |
| fields object required | object | Create a client profile from the Clients tab using only a name and email, with an option to enroll the client in the email marketing list at creation. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved after confirmation"
} Select Edit on an existing profile to add or change client information.
MCP calliris_works_write → update_client
REST endpointPATCH https://cotlet.dev/api/v1/iris-works/client
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or setting selected in your account. |
| fields object required | object | Select Edit on an existing profile to add or change client information. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved"
} Upload a CSV (first_name, last_name, email, phone, email_marketing, client_status required) to bulk-create clients, leads or marketing contacts. Support must enable the feature first. Re-importing an existing client as a marketing contact removes them from the client list.
MCP calliris_works_write → import_clients_csv
REST endpointPOST https://cotlet.dev/api/v1/iris-works/clients-csvs
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or setting selected in your account. |
| fields object required | object | Upload a CSV (first_name, last_name, email, phone, email_marketing, client_status required) to bulk-create clients, leads or marketing contacts. Support must enable the feature first. Re-importing an existing client as a marketing contact removes them from the client list. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved after confirmation"
} Use Mark Inactive on a client, or locate the client in the Inactive list and use Mark Active.
MCP calliris_works_write → set_client_active_status
REST endpointPUT https://cotlet.dev/api/v1/iris-works/client-active-status
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or setting selected in your account. |
| fields object required | object | Use Mark Inactive on a client, or locate the client in the Inactive list and use Mark Active. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved after confirmation"
} Manually assign clients to groups and edit the supplied session-type groups.
MCP calliris_works_write → manage_client_groups
REST endpointPOST https://cotlet.dev/api/v1/iris-works/client-groups/manage
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or setting selected in your account. |
| fields object required | object | Manually assign clients to groups and edit the supplied session-type groups. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved"
} Configure and Share the Lead Page, Manage Session Types, Create and Edit Email Templates and more.
Link to or embed the lead page so inquiries land in the account as leads. A reCAPTCHA field is present. Session types can be flagged for the lead page with an automatic reply per session type. Includes lead-page branding, layout, up to two custom fields and the default autoresponse.
MCP calliris_works_write → capture_lead_via_lead_page
REST endpointPOST https://cotlet.dev/api/v1/iris-works/lead-via-lead-page/capture
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or setting selected in your account. |
| fields object required | object | Link to or embed the lead page so inquiries land in the account as leads. A reCAPTCHA field is present. Session types can be flagged for the lead page with an automatic reply per session type. Includes lead-page branding, layout, up to two custom fields and the default autoresponse. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved after confirmation"
} Define the session types offered, with an icon (max 10 MB), a calendar label color, lead-page inclusion and an automatic lead reply.
MCP calliris_works_write → manage_session_types
REST endpointPOST https://cotlet.dev/api/v1/iris-works/session-types/manage
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or setting selected in your account. |
| fields object required | object | Define the session types offered, with an icon (max 10 MB), a calendar label color, lead-page inclusion and an automatic lead reply. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved"
} Create reusable 'canned' emails with Variables that pull from the client profile, and attach contracts, invoices, questionnaires and documents.
MCP calliris_works_write → manage_email_templates
REST endpointPOST https://cotlet.dev/api/v1/iris-works/email-templates/manage
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or setting selected in your account. |
| fields object required | object | Create reusable 'canned' emails with Variables that pull from the client profile, and attach contracts, invoices, questionnaires and documents. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved"
} Set a custom confirmation URL in the studio profile's Leads settings; leaving it blank uses the default thank-you page.
MCP calliris_works_write → configure_lead_page_redirect
REST endpointPOST https://cotlet.dev/api/v1/iris-works/lead-page-redirect/configure
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or setting selected in your account. |
| fields object required | object | Set a custom confirmation URL in the studio profile's Leads settings; leaving it blank uses the default thank-you page. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved after confirmation"
} Manage Documents Library (Contract Templates, Questionnaire Templates, Attachments), Generate and Send a Contract, Resend an Unsigned Contract and more.
Add contract templates, questionnaire templates and upload attachments in the Documents section. The contract builder takes pasted text, not direct file uploads. Assign an upload to a client, preview, send, update, download or delete; uploads up to 20 MB.
MCP calliris_works_write → manage_documents_library
REST endpointPOST https://cotlet.dev/api/v1/iris-works/documents-library/manage
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or setting selected in your account. |
| fields object required | object | Add contract templates, questionnaire templates and upload attachments in the Documents section. The contract builder takes pasted text, not direct file uploads. Assign an upload to a client, preview, send, update, download or delete; uploads up to 20 MB. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved after confirmation"
} From the client profile, Contracts > Send Contract, choose a template and optional session, Generate, review, then sign and send. The client receives an email link.
MCP calliris_works_write → send_contract
REST endpointPOST https://cotlet.dev/api/v1/iris-works/contracts
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or setting selected in your account. |
| fields object required | object | From the client profile, Contracts > Send Contract, choose a template and optional session, Generate, review, then sign and send. The client receives an email link. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved after confirmation"
} Use the Resend button on the client's Contracts tab for contracts not yet signed.
MCP calliris_works_write → resend_contract
REST endpointPOST https://cotlet.dev/api/v1/iris-works/contract/resend
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or setting selected in your account. |
| fields object required | object | Use the Resend button on the client's Contracts tab for contracts not yet signed. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved after confirmation"
} The Contracts tab in a client profile lists contracts with status labels and last-updated dates, with options to view, resend or download. Signed contracts are stored there.
MCP calliris_works_read → view_client_contracts
REST endpointGET https://cotlet.dev/api/v1/iris-works/client-contracts/view
| Name | Type | Description |
|---|---|---|
| filter string | string | Record, person, date range or status to review. |
{
"example": true,
"result": "Records for review"
} Create an Invoice, Send an Invoice, Add a Payment Schedule to an Invoice and more.
Create an invoice for a client. The help center covers creating invoices (and drafts), memos and sales tax.
MCP calliris_works_write → create_invoice
REST endpointPOST https://cotlet.dev/api/v1/iris-works/invoices
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or setting selected in your account. |
| fields object required | object | Create an invoice for a client. The help center covers creating invoices (and drafts), memos and sales tax. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved"
} Send the invoice to the client from the invoice page with Send Invoice.
MCP calliris_works_write → send_invoice
REST endpointPOST https://cotlet.dev/api/v1/iris-works/invoices/send-invoice
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or setting selected in your account. |
| fields object required | object | Send the invoice to the client from the invoice page with Send Invoice. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved after confirmation"
} From the invoice's three-dot menu choose Add Payment Schedule: Retainer + Balance, Retainer + Multiple Payments, Multiple Equal Payments, or Custom. Clients are reminded 5 days before and on each due date. Due dates can follow an associated session; resend the invoice after schedule changes so reminders update.
MCP calliris_works_write → add_invoice_payment_schedule
REST endpointPOST https://cotlet.dev/api/v1/iris-works/invoice-payment-schedules
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or setting selected in your account. |
| fields object required | object | From the invoice's three-dot menu choose Add Payment Schedule: Retainer + Balance, Retainer + Multiple Payments, Multiple Equal Payments, or Custom. Clients are reminded 5 days before and on each due date. Due dates can follow an associated session; resend the invoice after schedule changes so reminders update. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved after confirmation"
} Save repeat invoices as templates (products, memo, payment schedule) and use them in workflows or booking calendars.
MCP calliris_works_write → manage_invoice_templates
REST endpointPOST https://cotlet.dev/api/v1/iris-works/invoice-templates/manage
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or setting selected in your account. |
| fields object required | object | Save repeat invoices as templates (products, memo, payment schedule) and use them in workflows or booking calendars. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved"
} Under My Settings > Settings > Invoice Setup, connect Square and toggle Tips, ACH (US only), Square Gift Cards, AfterPay and CashApp. When a client pays, the invoice updates to Paid and a receipt is sent automatically. Includes the Apple Pay and Google Pay toggle for Square sellers in the US, Canada, UK and Australia.
MCP calliris_works_write → connect_square_payments
REST endpointPOST https://cotlet.dev/api/v1/iris-works/square-payments/connect
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or setting selected in your account. |
| fields object required | object | Under My Settings > Settings > Invoice Setup, connect Square and toggle Tips, ACH (US only), Square Gift Cards, AfterPay and CashApp. When a client pays, the invoice updates to Paid and a receipt is sent automatically. Includes the Apple Pay and Google Pay toggle for Square sellers in the US, Canada, UK and Australia. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved after confirmation"
} After connecting QuickBooks Online (US and Canada) in Invoice Setup, use Push To Quickbooks on an invoice. This creates the invoice and, if missing, a new customer in QuickBooks.
MCP calliris_works_write → push_invoice_to_quickbooks
REST endpointPOST https://cotlet.dev/api/v1/iris-works/invoice-to-quickbooks/push
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or setting selected in your account. |
| fields object required | object | After connecting QuickBooks Online (US and Canada) in Invoice Setup, use Push To Quickbooks on an invoice. This creates the invoice and, if missing, a new customer in QuickBooks. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved after confirmation"
} Send a quote to a client; the client can accept, decline or request changes, and an accepted quote becomes an invoice.
MCP calliris_works_write → send_quote
REST endpointPOST https://cotlet.dev/api/v1/iris-works/quotes
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or setting selected in your account. |
| fields object required | object | Send a quote to a client; the client can accept, decline or request changes, and an accepted quote becomes an invoice. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved after confirmation"
} Create goals under My Settings > Settings > Goals and Metrics for sessions, new clients, new leads or billable dollars, tracked daily, weekly, monthly or annually, and shown on the Dashboard under Just the Numbers.
MCP calliris_works_write → manage_goals_and_metrics
REST endpointPOST https://cotlet.dev/api/v1/iris-works/goals-and-metrics/manage
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or setting selected in your account. |
| fields object required | object | Create goals under My Settings > Settings > Goals and Metrics for sessions, new clients, new leads or billable dollars, tracked daily, weekly, monthly or annually, and shown on the Dashboard under Just the Numbers. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved"
} View a line graph of configured goals on the Dashboard.
MCP calliris_works_read → view_dashboard_goal_graph
REST endpointGET https://cotlet.dev/api/v1/iris-works/dashboard-goal-graphs/view
| Name | Type | Description |
|---|---|---|
| filter string | string | Record, person, date range or status to review. |
{
"example": true,
"result": "Records for review"
} Create coupon codes under Invoices > Coupon with amount or percentage, expiry and redemption limits. Only expiry and maximum redemptions can change later; coupons need Square.
MCP calliris_works_write → manage_coupon_codes
REST endpointPOST https://cotlet.dev/api/v1/iris-works/coupon-codes/manage
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or setting selected in your account. |
| fields object required | object | Create coupon codes under Invoices > Coupon with amount or percentage, expiry and redemption limits. Only expiry and maximum redemptions can change later; coupons need Square. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved"
} Choose Process Refund from an invoice menu, enter the refund amount and optional notes, then submit. Refunds use Square; pending/completed and partial/full refund statuses are documented.
MCP calliris_works_write → refund_invoice_payment
REST endpointPOST https://cotlet.dev/api/v1/iris-works/invoice-payment/refund
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or setting selected in your account. |
| fields object required | object | Choose Process Refund from an invoice menu, enter the refund amount and optional notes, then submit. Refunds use Square; pending/completed and partial/full refund statuses are documented. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved after confirmation"
} Record an externally received payment with amount, date and method; optionally send a receipt. Existing recorded payments can also be edited or deleted. This records bookkeeping information, rather than charging a card.
MCP calliris_works_write → manage_manually_recorded_payments
REST endpointPOST https://cotlet.dev/api/v1/iris-works/manually-recorded-payments/manage
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or setting selected in your account. |
| fields object required | object | Record an externally received payment with amount, date and method; optionally send a receipt. Existing recorded payments can also be edited or deleted. This records bookkeeping information, rather than charging a card. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved after confirmation"
} Enable Fundy under Invoice Setup integrations, then use Invoices > Fundy Import, select the client and due date, and upload the Fundy invoice.
MCP calliris_works_write → import_fundy_invoice
REST endpointPOST https://cotlet.dev/api/v1/iris-works/fundy-invoices
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or setting selected in your account. |
| fields object required | object | Enable Fundy under Invoice Setup integrations, then use Invoices > Fundy Import, select the client and due date, and upload the Fundy invoice. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved after confirmation"
} Read the current month's invoiced amount, accounts receivable and year-to-date invoiced total in the Invoice section. These are not necessarily cash-received income.
MCP calliris_works_read → view_invoice_financial_summary
REST endpointGET https://cotlet.dev/api/v1/iris-works/invoice-financial-summaries/view
| Name | Type | Description |
|---|---|---|
| filter string | string | Record, person, date range or status to review. |
{
"example": true,
"result": "Records for review"
} Open the invoice menu, select Take Payment Now, and copy the client-view URL. Sending that URL through another channel is a separate, confirmation-requiring communication.
MCP calliris_works_read → get_invoice_payment_url
REST endpointGET https://cotlet.dev/api/v1/iris-works/invoice-payment-url
| Name | Type | Description |
|---|---|---|
| filter string | string | Record, person, date range or status to review. |
{
"example": true,
"result": "Records for review"
} Use Add Product/Service > +Add New, enter product details, and save. This both adds the line item and persists the product in inventory.
MCP calliris_works_write → add_new_product_from_invoice
REST endpointPOST https://cotlet.dev/api/v1/iris-works/new-product-from-invoices
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or setting selected in your account. |
| fields object required | object | Use Add Product/Service > +Add New, enter product details, and save. This both adds the line item and persists the product in inventory. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved"
} Connect an existing Stripe or PayPal account for Iris payment processing.
MCP calliris_works_write → connect_stripe_or_paypal
REST endpointPOST https://cotlet.dev/api/v1/iris-works/stripe-or-paypal/connect
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or setting selected in your account. |
| fields object required | object | Connect an existing Stripe or PayPal account for Iris payment processing. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved after confirmation"
} View the Iris Calendar, Create a Session / Event on the Calendar, Sync an External Calendar and more.
View sessions and events on the Calendar tab, color-coded by session type.
MCP calliris_works_read → view_calendar
REST endpointGET https://cotlet.dev/api/v1/iris-works/calendars/view
| Name | Type | Description |
|---|---|---|
| filter string | string | Record, person, date range or status to review. |
{
"example": true,
"result": "Records for review"
} Add a session for a client and attach a workflow, which schedules the workflow's emails and to-dos from the session date. Options exist to create a ShootProof gallery or Pic-Time project at the same time. Workflow emails may send automatically.
MCP calliris_works_write → create_session
REST endpointPOST https://cotlet.dev/api/v1/iris-works/sessions
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or setting selected in your account. |
| fields object required | object | Add a session for a client and attach a workflow, which schedules the workflow's emails and to-dos from the session date. Options exist to create a ShootProof gallery or Pic-Time project at the same time. Workflow emails may send automatically. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved after confirmation"
} From the Calendar tab choose Connect Calendars to sync one external calendar (Google, iCal, Outlook, Exchange, Office 365). Iris events appear externally and external events appear in Iris. New sessions made in the external app cannot have a workflow attached.
MCP calliris_works_write → connect_external_calendar
REST endpointPOST https://cotlet.dev/api/v1/iris-works/external-calendar/connect
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or setting selected in your account. |
| fields object required | object | From the Calendar tab choose Connect Calendars to sync one external calendar (Google, iCal, Outlook, Exchange, Office 365). Iris events appear externally and external events appear in Iris. New sessions made in the external app cannot have a workflow attached. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved"
} Read an event's associated invoice status/due date, contract signature status, sent questionnaires/emails and upcoming scheduled emails.
MCP calliris_works_read → view_calendar_event_summary
REST endpointGET https://cotlet.dev/api/v1/iris-works/calendar-event-summaries/view
| Name | Type | Description |
|---|---|---|
| filter string | string | Record, person, date range or status to review. |
{
"example": true,
"result": "Records for review"
} Create and Publish a Booking Calendar, Add Mini Session Availability with the Mini Scheduler, Configure the Booking Landing Page and more.
Under My Settings > Settings > Booking Setup, create a public booking calendar: title, introduction, session type, workflow, optional gallery (Pic-Time/ShootProof), location, address requirement, optional contract and invoice, coupon allowance, and availability slots. Publishing makes it bookable by clients, who may sign and pay during booking.
MCP calliris_works_write → create_booking_calendar
REST endpointPOST https://cotlet.dev/api/v1/iris-works/booking-calendars
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or setting selected in your account. |
| fields object required | object | Under My Settings > Settings > Booking Setup, create a public booking calendar: title, introduction, session type, workflow, optional gallery (Pic-Time/ShootProof), location, address requirement, optional contract and invoice, coupon allowance, and availability slots. Publishing makes it bookable by clients, who may sign and pay during booking. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved after confirmation"
} In a booking calendar's Select Availability tab, use the mini scheduler to generate multiple slots from a date, start time, session count, session length and gap. Changes go live on Publish and Continue.
MCP calliris_works_write → schedule_mini_sessions
REST endpointPOST https://cotlet.dev/api/v1/iris-works/mini-sessions/schedule
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or setting selected in your account. |
| fields object required | object | In a booking calendar's Select Availability tab, use the mini scheduler to generate multiple slots from a date, start time, session count, session length and gap. Changes go live on Publish and Continue. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved after confirmation"
} Set up a branded landing page showing multiple session types and booking calendars, with images, links and an embed option for your website.
MCP calliris_works_write → configure_booking_landing_page
REST endpointPOST https://cotlet.dev/api/v1/iris-works/booking-landing-page/configure
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or setting selected in your account. |
| fields object required | object | Set up a branded landing page showing multiple session types and booking calendars, with images, links and an embed option for your website. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved after confirmation"
} Share specific scheduling options with a client; when they pick one, Iris kicks off the workflow for that session type. The help center lists 'Booking Invitations' as a feature, and says contracts can be attached to booking invitations. The exact UI steps were not retrievable.
MCP calliris_works_write → send_booking_invitation
REST endpointPOST https://cotlet.dev/api/v1/iris-works/booking-invitations
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or setting selected in your account. |
| fields object required | object | Share specific scheduling options with a client; when they pick one, Iris kicks off the workflow for that session type. The help center lists 'Booking Invitations' as a feature, and says contracts can be attached to booking invitations. The exact UI steps were not retrievable. |
{
"record": "Example client",
"fields": {
"session_type": "Newborn session",
"times": [
"2026-12-02T10:00",
"2026-12-04T10:00"
]
}
} {
"example": true,
"result": "Saved after confirmation"
} Select Mark As Free while creating or editing an event so it does not block booking availability.
MCP calliris_works_write → set_event_free_status
REST endpointPUT https://cotlet.dev/api/v1/iris-works/event-free-status
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or setting selected in your account. |
| fields object required | object | Select Mark As Free while creating or editing an event so it does not block booking availability. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved after confirmation"
} In Booking Setup's three-dot menu, enable consideration of external-calendar events. Calendar connection alone does not establish that this conflict checking is enabled.
MCP calliris_works_write → consider_external_calendar_for_booking
REST endpointPOST https://cotlet.dev/api/v1/iris-works/external-calendar-for-booking/consider
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or setting selected in your account. |
| fields object required | object | In Booking Setup's three-dot menu, enable consideration of external-calendar events. Calendar connection alone does not establish that this conflict checking is enabled. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved after confirmation"
} Create, Edit and Apply Workflow Templates, Use 'Edit before Sending' on Workflow Emails, View To-Do Items and more.
Build workflows (found at My Settings > Studio > Workflows) of automated emails, documents, contracts, invoices and questionnaires plus your own to-dos, timed relative to the session date. Pre-loaded templates exist. Help articles cover creating, editing and 'Applying Workflow Changes'.
MCP calliris_works_write → manage_workflows
REST endpointPOST https://cotlet.dev/api/v1/iris-works/workflows/manage
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or setting selected in your account. |
| fields object required | object | Build workflows (found at My Settings > Studio > Workflows) of automated emails, documents, contracts, invoices and questionnaires plus your own to-dos, timed relative to the session date. Pre-loaded templates exist. Help articles cover creating, editing and 'Applying Workflow Changes'. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved after confirmation"
} Have Iris remind you when a workflow email is due so you can review and modify it before it sends.
MCP calliris_works_write → set_workflow_edit_before_sending
REST endpointPUT https://cotlet.dev/api/v1/iris-works/workflow-edit-before-sending
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or setting selected in your account. |
| fields object required | object | Have Iris remind you when a workflow email is due so you can review and modify it before it sends. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved"
} The To-Do tab lists open items, items due today or this week, and completed tasks from workflows and self-created tasks, with search by client name or keyword.
MCP calliris_works_read → view_todos
REST endpointGET https://cotlet.dev/api/v1/iris-works/todos/view
| Name | Type | Description |
|---|---|---|
| filter string | string | Record, person, date range or status to review. |
{
"example": true,
"result": "Records for review"
} Use the Add button in the To-Do tab to create a standalone task.
MCP calliris_works_write → create_todo
REST endpointPOST https://cotlet.dev/api/v1/iris-works/todos
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or setting selected in your account. |
| fields object required | object | Use the Add button in the To-Do tab to create a standalone task. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved"
} Create or Save an Email Campaign, Send an Email Campaign to Clients, Filter Clients for a Campaign and more.
On the Email Marketing tab, use New Campaign Template to open the builder (title, description, subject, template or from scratch) and choose Save for Later. Drafts live under My Campaign Templates. Requires the Email Marketing add-on or a plan that includes it.
MCP calliris_works_write → create_email_campaign
REST endpointPOST https://cotlet.dev/api/v1/iris-works/email-campaigns
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or setting selected in your account. |
| fields object required | object | On the Email Marketing tab, use New Campaign Template to open the builder (title, description, subject, template or from scratch) and choose Save for Later. Drafts live under My Campaign Templates. Requires the Email Marketing add-on or a plan that includes it. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved"
} Choose Save and Send to broadcast to the whole list or a filtered segment. Campaigns can also be scheduled ahead of time per vendor marketing pages. Sends to many recipients.
MCP calliris_works_write → send_email_campaign
REST endpointPOST https://cotlet.dev/api/v1/iris-works/email-campaigns/send-email-campaign
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or setting selected in your account. |
| fields object required | object | Choose Save and Send to broadcast to the whole list or a filtered segment. Campaigns can also be scheduled ahead of time per vendor marketing pages. Sends to many recipients. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved after confirmation"
} Select clients by criteria for an email campaign, for example clients who booked a family session in the past two years.
MCP calliris_works_read → filter_campaign_audience
REST endpointGET https://cotlet.dev/api/v1/iris-works/campaign-audiences/filter
| Name | Type | Description |
|---|---|---|
| filter string | string | Record, person, date range or status to review. |
{
"example": true,
"result": "Records for review"
} On the Email Marketing page's opt-in form tab, set a welcome message and button color, preview, and embed the form on your website. Submissions go to the Marketing Contacts tab.
MCP calliris_works_write → configure_marketing_optin_form
REST endpointPOST https://cotlet.dev/api/v1/iris-works/marketing-optin-form/configure
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or setting selected in your account. |
| fields object required | object | On the Email Marketing page's opt-in form tab, set a welcome message and button color, preview, and embed the form on your website. Submissions go to the Marketing Contacts tab. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved after confirmation"
} Search Your Locations and Shared Locations in Location Scout, Make a Scout Location Private or Shared, Manage scout location photo and more.
Search a map of your own locations or choose Shared Locations to see locations other Iris Works users made public, zooming or searching other cities.
MCP calliris_works_read → browse_scout_locations
REST endpointGET https://cotlet.dev/api/v1/iris-works/scout-locations/browse
| Name | Type | Description |
|---|---|---|
| filter string | string | Record, person, date range or status to review. |
{
"example": true,
"result": "Records for review"
} Set a location in Location Scout to private (only your studio) or shared (all Iris Works users). Sharing publishes it to other accounts.
MCP calliris_works_write → set_location_visibility
REST endpointPUT https://cotlet.dev/api/v1/iris-works/location-visibility
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or setting selected in your account. |
| fields object required | object | Set a location in Location Scout to private (only your studio) or shared (all Iris Works users). Sharing publishes it to other accounts. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved after confirmation"
} Use New Location or Edit Location to create/edit a location and upload an image. The documented image limit is 10 MB.
MCP calliris_works_write → manage_scout_location_photo
REST endpointPOST https://cotlet.dev/api/v1/iris-works/scout-location-photo/manage
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or setting selected in your account. |
| fields object required | object | Use New Location or Edit Location to create/edit a location and upload an image. The documented image limit is 10 MB. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved"
} Choose a location's email icon, select a client, edit the message and send location directions.
MCP calliris_works_write → email_scout_location
REST endpointPOST https://cotlet.dev/api/v1/iris-works/scout-location/email
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or setting selected in your account. |
| fields object required | object | Choose a location's email icon, select a client, edit the message and send location directions. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved after confirmation"
} Connect Pic-Time and Auto-Create Projects and View a Client's Galleries.
In Studio Profile > Gallery Integrations, connect Pic-Time, then check 'Create Pic-Time Project' when creating a session. A 'Pic-Time Gallery Link' variable is available for email templates.
MCP calliris_works_write → connect_pictime
REST endpointPOST https://cotlet.dev/api/v1/iris-works/pictime/connect
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or setting selected in your account. |
| fields object required | object | In Studio Profile > Gallery Integrations, connect Pic-Time, then check 'Create Pic-Time Project' when creating a session. A 'Pic-Time Gallery Link' variable is available for email templates. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved after confirmation"
} Open the Galleries tab in a client profile to reach linked ShootProof or Pic-Time galleries.
MCP calliris_works_read → view_client_galleries
REST endpointGET https://cotlet.dev/api/v1/iris-works/client-galleries/view
| Name | Type | Description |
|---|---|---|
| filter string | string | Record, person, date range or status to review. |
{
"example": true,
"result": "Records for review"
} Your signed-in Iris Works profile, AES-256-GCM encrypted, in Finland. No password.
The 55 Iris Works tools, never the session cookie.
The leads, clients, sessions, workflows, contracts, quotes and invoices in your Iris Works studio account.
Your Iris Works subscription, plan and studio profile, gallery creation and delivery, multiple brands on one account, which Iris does not support, and your password.
You sign in again yourself, in the same Cloud Browser.
Disable for agents, reset the browser, or change your Iris Works 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).
Cotlet watches the apps it serves and updates the server when Iris Works changes its leads, workflow or invoice screens.
New Iris Works features become available to your agent.
Your Iris Works login determines which leads, clients and sessions it sees.
Cotlet never sees or stores your password. If Iris Works signs you out, open your Cloud Browser with one click from the Cotlet console and sign in again.
| Action | Undo |
|---|---|
| Send a booking invitation | A sent invitation cannot be recalled |
| Send a contract | A sent email cannot be recalled; resend a corrected contract |
| Create an invoice | Edit or delete the unsent invoice in Iris Works |
| Record a payment | Edit or delete the recorded payment in Iris Works |
Tools marked Asks first wait for your approval by default; you can switch that off per tool. Unmarked tools run at once.
{
"name": "send_booking_invitation",
"arguments": {
"record": "Example client",
"fields": {
"session_type": "Newborn session",
"times": [
"2026-12-02T10:00",
"2026-12-04T10:00"
]
}
}
} curl -X POST https://cotlet.dev/api/v1/iris-works/booking-invitations \
-H "Authorization: Bearer $COTLET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"record":"Example client","fields":{"session_type":"Newborn session","times":["2026-12-02T10:00","2026-12-04T10:00"]}}' {
"invitation": "Sent after confirmation",
"times": 2
} A cron job or n8n flow can call the same tools over REST at /api/v1/iris-works with the same key and price, in JSON. Failed calls are free. Each tool row above shows its REST path.
About $18 a monthfor a wedding and portrait photographer answering about 6 new inquiries a week, over four weeks, 3,160 credits. Your Iris Works plan stays as it is.
| Job | Calls | Credits |
|---|---|---|
| Read new leads and clients 5 days a week | 1 × 20 | 200 |
| Add 6 new clients a week from inquiries | 1 × 24 | 240 |
| Send 3 booking invitations a week | 1 × 12 | 120 |
| Add 3 sessions with workflows a week | 1 × 12 | 120 |
| Send 2 contracts a week | 1 × 8 | 80 |
| Create and send 2 invoices a week | 2 × 8 | 160 |
| Record 4 client payments a week | 1 × 16 | 160 |
| Read the to-do list on 22 workdays | 1 × 22 | 220 |
| Add 8 to-dos a week | 1 × 32 | 320 |
| Read the monthly invoice summary | 1 × 4 | 40 |
| Cloud Browser, 30 days | 1,500 | |
| Total | 3,160 |
The $29 pack covers a typical month for most owners.
Illustrative consumption at the smallest credit pack rate, not a subscription or measured usage. Buy credit packs separately; extra calls add usage.
| 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 |
|---|---|---|
| Workflows | Send preset emails, contracts and invoices at set points of a session | Runs your preset steps; cannot answer a new request |
| Calendar sync | Shows sessions in iCloud, Google or Outlook calendars | Events added from the external calendar cannot be edited in Iris |
| QuickBooks | Keeps invoices and payments in your books | Accounting sync only |
Cotlet works through your own Iris Works sign-in and handles the invitations, contracts and invoices between your shoots.
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 Iris Works tools go to contact@cotlet.dev.
Start a free Cotlet trial, open Iris Works in your Cloud Browser and sign in at app.iris-works.com with your own Iris Works login. Your agent then gets the 55 Iris Works tools.
Sign up at cotlet.dev, log in to Iris Works 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 Iris Works account through Cotlet, in their phone apps too.
ChatGPT and Claude read your leads, clients and calendar, send booking invitations, contracts and quotes, add sessions with their workflows, create and send invoices, record payments and check workflow to-dos, within your Iris Works account.
No official Iris Works MCP server was found on iris-works.com or in its help center, and no Iris Works listing was verified in the ChatGPT apps or Claude connectors directories (checked 11 Nov 2026). The "Iris MCP" that works with ChatGPT and Claude belongs to heyiris.ai, a different product. Cotlet is an independent MCP server for ChatGPT, Claude and other agents in your signed-in Iris Works account.
ChatGPT sends the client a personal set of session dates and times after you approve the invitation; when they pick one, Iris starts that session type's workflow.
ChatGPT generates the contract from the template and session you choose and sends it to the client after you approve it.
ChatGPT adds the session for the client and date you give it and attaches its workflow, after you approve, so the workflow's emails and to-dos are scheduled.
ChatGPT creates the invoice for the client and session you name without sending it; sending it to the client is a separate step you approve.
ChatGPT records the amount, date and method of a payment you received outside Iris on the client's invoice after you approve it, with or without a receipt email.
No publicly documented Iris Works API was found on 11 Nov 2026: its /api and /developers pages returned 404 and the help center has no API article. Its integrations are Square, Stripe, PayPal, calendar sync, QuickBooks, Pic-Time and Fundy Designer. Cotlet works through your own Iris Works sign-in.
Only in how it is called. Both carry the same 55 tools, inputs, answers, API key and price. Agents use MCP; scripts and HTTP steps use REST.
No. Cotlet is independent and not affiliated with Iris Works.
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