Skip to content

Integration · CRM & sales

vsco.co

Connect Claude & ChatGPT to VSCO Workspace

Ask your AI which leads are open, what a client still owes, or to put a shoot on the calendar in VSCO Workspace. It can read and create jobs, events and notes, look up clients, orders and payments, record payments you received and send quotes. Studio admin gets done in a few sentences.

Connect VSCO Workspace free

Free plan, no credit card. Takes about a minute.

Try asking

  • “Which leads do we have open right now?”

    The AI lists your jobs with stage and lead status and picks out the leads.

  • “What is the balance on the Hansen wedding?”

    It searches for the job and reads its orders with total, balance and due date.

  • “Book an engagement shoot for the Hansen job on 12 May at 16:00 in Aarhus.”

    It creates an event linked to the job with date, time and location.

What your AI can do

Jobs and leads

List, read, create and update jobs and leads with stage, job type, dates and lead status.

Shoots, notes and contacts

Create and update events, add notes, and look up clients in the address book and their roles on jobs.

Invoices, payments and quotes

Read orders with balance and due date, list and record payments, and read and send quotes.

  • “Record a 5,000 payment on the Larsen job, received today by bank transfer.”

    It records the payment on the job with amount, date and payment method. Nobody is charged.

  • “Send quote 812 to the client.”

    It emails the quote to its recipients, or prepares the email as a draft if you ask.

  • “Add a note to the Hansen job: prefers outdoor portraits.”

    It adds the note to the job.

147 tools for VSCO Workspace

These tools are switched on when you connect. You can switch any of them off, or require your approval before it runs.

  • create_a_job_roleDeletesCreate a new project. Required: name or token prefix. Destructive action; may require approval. API summary: Create a job role.
  • create_a_job_typeChanges dataCreate a new project. Required: name. API summary: Create a job type.
  • create_a_job_using_a_worksheetChanges dataCreate a new project. API summary: Create a Job using a Worksheet.
  • create_a_lead_statusChanges dataCreate a new lead. Required: name. API summary: Create a lead status.
  • create_a_productChanges dataCreate a new product. API summary: Create a product.
  • create_addressVisible to othersCreate a new address. Search addresses first to avoid duplicates. Has effects visible outside this system. API summary: Create an entry in the address book.
  • create_brandChanges dataCreate a new brand. API summary: Create a brand.
  • create_contactChanges dataCreate a new contact. API summary: Create a job contact.
  • create_custom_fieldChanges dataCreate a new custom field. API summary: Create a custom field.
  • create_discountChanges dataCreate a new discount. Required: name or price. API summary: Create a discount.
  • create_discount_typeChanges dataCreate a new discount type. API summary: Create a discount type.
  • create_documentChanges dataCreate a new document. Required: filename. API summary: Create a file.
  • create_eventChanges dataCreate an event with name, job_id, type_id, start_date/start_time, end_date/end_time, all_day, channel (InPerson, Phone, Virtual), location and confirmed.
  • create_event_typeChanges dataCreate a new event type. Required: name or token prefix. API summary: Create an event type.
  • create_galleryChanges dataCreate a new gallery. Required: name, client url or admin url. API summary: Create an gallery.
  • create_jobChanges dataCreate a job or lead: put fields in `body`, such as name, stage (lead, booked, fulfillment, completed), jobTypeId, eventDate, leadSourceId, leadStatusId and leadNotes.
  • create_leadChanges dataCreate a new lead. Required: name. API summary: Create a lead source.
  • create_noteChanges dataAdd a note with `content_html`, linked to a job_id and/or contact_id, with an optional date.
  • create_payment_create_resource_apply_payment_to_orderChanges dataCreate a new payment for a payment. Required: amount. API summary: Apply payment to Order.
  • create_productChanges dataCreate a new product. Required: name. API summary: Create a product type.
  • create_profit_centerChanges dataCreate a new profit center. Required: name. API summary: Create a profit center.
  • create_projectChanges dataCreate a new project. Required: name. API summary: Create a job closed reason.
  • create_project_orderChanges dataCreate a new order for a project. API summary: Create an order on a given job.
  • create_project_quoteChanges dataCreate a new quote for a project. API summary: Create a quote on a given job.
  • create_rest_hookChanges dataCreate a new rest hook. Required: event or url. API summary: Create a RestHook subscription.
  • create_tax_groupChanges dataCreate a new tax group. API summary: Create a Tax Group.
  • create_tax_rateChanges dataCreate a new tax rate. API summary: Create a Tax Rate.
  • create_userChanges dataCreate a new user. API summary: Create an user.
  • delete_a_jobDeletesPermanently delete a project by project id. Destructive action; may require approval. API summary: Delete a job.
  • delete_a_job_roleDeletesPermanently delete a project by project id. Destructive action; may require approval. API summary: Delete a job role.
  • delete_a_job_typeDeletesPermanently delete a project by project id. Destructive action; may require approval. API summary: Delete a job type.
  • delete_a_lead_statusDeletesPermanently delete a lead by lead id. Destructive action; may require approval. API summary: Delete a lead status.
  • delete_a_specific_productDeletesPermanently delete a product by product id. Destructive action; may require approval. API summary: Delete a specific product.
  • delete_addressDeletesPermanently delete a address by address id. Destructive action; may require approval. API summary: Delete an entry in the address book.
  • delete_brandDeletesPermanently delete a brand by brand id. Destructive action; may require approval.
  • delete_contactDeletesPermanently delete a contact by contact id. Destructive action; may require approval. API summary: Delete a job contact.
  • delete_custom_fieldDeletesPermanently delete a custom field by custom field id. Destructive action; may require approval.
  • delete_discountDeletesPermanently delete a discount by discount id. Destructive action; may require approval. API summary: Delete a specifc discount.
  • delete_discount_typeDeletesPermanently delete a discount type by discount type id. Destructive action; may require approval. API summary: Delete a specifc discount type.
  • delete_documentDeletesPermanently delete a document by document id. Destructive action; may require approval. API summary: Delete a file.
  • delete_eventDeletesPermanently delete a event by event id. Destructive action; may require approval. API summary: Delete an event.
  • delete_event_typeDeletesPermanently delete a event type by event type id. Destructive action; may require approval. API summary: Delete an event type.
  • delete_galleryDeletesPermanently delete a gallery by gallery id. Destructive action; may require approval. API summary: Delete an gallery.
  • delete_leadDeletesPermanently delete a lead by lead id. Destructive action; may require approval. API summary: Delete a lead source.
  • delete_messageDeletesPermanently delete a message by message id. Destructive action; may require approval. API summary: Delete a note.
  • delete_paymentDeletesPermanently delete a payment by payment id. Destructive action; may require approval. API summary: Delete a specifc payment.
  • delete_productDeletesPermanently delete a product by product id. Destructive action; may require approval. API summary: Delete a specifc product type.
  • delete_profit_centerDeletesPermanently delete a profit center by profit center id. Destructive action; may require approval.
  • delete_projectDeletesPermanently delete a project by project id. Destructive action; may require approval. API summary: Delete a job closed reason.
  • delete_rest_hookDeletesPermanently delete a rest hook by rest hook id. Destructive action; may require approval. API summary: Unsubscribe from and delete a RestHook.
  • delete_tax_groupDeletesPermanently delete a tax group by tax group id. Destructive action; may require approval.
  • delete_tax_rateDeletesPermanently delete a tax rate by tax rate id. Destructive action; may require approval.
  • delete_userDeletesPermanently delete a user by user id. Destructive action; may require approval.
  • get_a_job_worksheet_on_a_given_jobList projects for a project. API summary: Get a Job Worksheet on a given Job.
  • get_a_list_of_productsList products. Optional filters: sort by. API summary: Get a list of products.
  • get_a_specific_fileGet one document by document id. API summary: Get a specific file.
  • get_a_specific_job_roleGet one project by project id. API summary: Get a specific job role.
  • get_a_specific_job_typeGet one project by project id. API summary: Get a specific job type.
  • get_a_specific_lead_statusGet one lead by lead id. API summary: Get a specific lead status.
  • get_a_specific_paymentGet one payment by payment id. API summary: Get a specific payment.
  • get_a_specific_productGet one product by product id. API summary: Get a specific product.
  • get_address_book_entryGet one address-book entry (person or company) by `address_id`.
  • get_brandGet one brand by brand id. API summary: Get a specific brand.
  • get_custom_fieldGet one custom field by custom field id. API summary: Get a specific Custom Field.
  • get_discountGet one discount by discount id. API summary: Get a specific discount.
  • get_discount_typeGet one discount type by discount type id. API summary: Get a specific discount type.
  • get_documentGet one document by document id. API summary: Get a specific file type.
  • get_eventGet one event by `event_id`, with date, time, location, type and linked job.
  • get_event_typeGet one event type by event type id. API summary: Get a specific event type.
  • get_galleryGet one gallery by gallery id. API summary: Get a specific gallery.
  • get_jobGet one job by its ID (`project_id`), with stage, dates, job type, lead status and totals.
  • get_job_contactGet one job contact by `contact_id`, including their role on the job.
  • get_leadGet one lead by lead id. API summary: Get a specific lead source.
  • get_messageGet one message by message id. API summary: Get a specific note.
  • get_orderGet one order (invoice) by `order_id`, with line items, total, balance and due date.
  • get_paymentGet one payment by payment id. API summary: Get a specific payment methods.
  • get_productGet one product by product id. API summary: Get a specific product type.
  • get_profit_centerGet one profit center by profit center id. API summary: Get a specific profit center.
  • get_projectGet one project by project id. API summary: Get a specific job closed reason.
  • get_quoteGet one quote by `quote_id`, with options, recipients and expiration.
  • get_rest_hookGet one rest hook by rest hook id. API summary: Get a specific Rest Hook.
  • get_studioGet your studio's own settings: name, currency, timezone and date format.
  • get_tax_groupGet one tax group by tax group id. API summary: Get a specific Tax Group.
  • get_tax_rateGet one tax rate by tax rate id. API summary: Get a specific Tax Rate.
  • get_timezoneGet one timezone by timezone id. API summary: Get a specific timezone.
  • get_userGet one user by user id. API summary: Get a specific user.
  • list_address_bookList address-book entries (clients and other people) with their contact details; filter by `email`.
  • list_addressesList addresses for a address. API summary: Get the address associated with the given location.
  • list_brandsList brands. Optional filters: include hidden, external mapping id or sort by. Results are paginated. API summary: List brands of a studio.
  • list_custom_fieldsList custom fields. Optional filters: can apply to, kind or sort by. API summary: List of Custom Fields on a studio.
  • list_discount_typesList discount types. Optional filters: sort by. API summary: Get a list of discount types.
  • list_discountsList discounts. Optional filters: sort by. API summary: Get a list of discounts.
  • list_documentsList documents. Optional filters: include hidden or sort by. Results are paginated. API summary: List file types.
  • list_event_typesList event types. Optional filters: include hidden, external mapping id or sort by. Results are paginated. API summary: List of a studio’s event types.
  • list_eventsList events (shoots, sessions, meetings), optionally for one `job_id`.
  • list_filesList documents. Optional filters: include hidden, external mapping id, job id, contact id or sort by. Results are paginated. API summary: List files.
  • list_galleriesList galleries. Optional filters: include hidden, external mapping id or sort by. Results are paginated. API summary: List of a studio’s galleries.
  • list_job_contactsList the people linked to jobs, filtered by `job_id` or `contact_id`, with their job roles.
  • list_job_ordersList the orders (invoices) of one job by `job_id`.
  • list_job_paymentsList the payments recorded on one job by `job_id`.
  • list_jobsList jobs (leads and booked jobs); set include_closed to also show closed ones and page with `page` and `limit`.
  • list_leadsList leads. Optional filters: include hidden, external mapping id or sort by. Results are paginated. API summary: List of a studio’s lead sources.
  • list_notesList notes, optionally for one `job_id`.
  • list_of_a_studio_s_job_rolesList projects. Optional filters: include hidden, external mapping id or sort by. Results are paginated. API summary: List of a studio’s job roles.
  • list_of_a_studio_s_job_typesList projects. Optional filters: include hidden, external mapping id or sort by. Results are paginated. API summary: List of a studio’s job types.
  • list_of_a_studio_s_lead_statusesList leads. Optional filters: include hidden, external mapping id or sort by. Results are paginated. API summary: List of a studio’s lead statuses.
  • list_ordersList orders (invoices) across the studio with totals, balance and due date.
  • list_paymentsList payments recorded in the studio; page with `page` and `limit`.
  • list_payments_2List payments. Optional filters: sort by. API summary: List payment methods.
  • list_productsList products. Optional filters: sort by. API summary: Get a list of product types.
  • list_profit_centersList profit centers. Optional filters: include hidden, external mapping id or sort by. Results are paginated. API summary: List of a studio’s profit centers.
  • list_projectsList projects. Optional filters: include hidden, external mapping id or sort by. Results are paginated. API summary: List of a studio’s job closed reasons.
  • list_quotesList quotes (proposals) with their IDs and status.
  • list_rest_hooksList rest hooks. Optional filters: include hidden or sort by. Results are paginated.
  • list_tax_groupsList tax groups. Optional filters: sort by. API summary: Get a list of Tax Groups.
  • list_tax_ratesList tax rates. Optional filters: sort by. API summary: Get a list of Tax Rates.
  • list_usersList users. Optional filters: include hidden, external mapping id or sort by. Results are paginated. API summary: List of a studio’s users.
  • record_paymentChanges dataRecord a payment received on a job: `job_id`, `amount` (a whole number; check an existing payment with list_job_payments first to match the unit), received date, payment_method_id and memo. It records the payment only; it does not charge anyone.
  • searchFree-text search in one `scope` at a time: job, contact, event, note, order, payment or address. Use it to find IDs by name or email.
  • search_timezonesSearch timezones by search or sort by. Use this to find existing timezones before creating a new timezone. Results are paginated. API summary: Get list of timezones.
  • send_quoteVisible to othersEmail a quote to its recipients by `quote_id`; set resend=true only to send it again to someone who already got it, and draft=true to prepare the email without sending. This sends email to the client.
  • submit_quoteVisible to othersBook a quote (quote id). Has effects visible outside this system. API summary: Book a quote as an order.
  • update_a_specific_job_roleDeletesUpdate an existing project identified by project id. Destructive action; may require approval. API summary: Update a specific job role.
  • update_a_specific_lead_statusChanges dataUpdate an existing lead identified by lead id. API summary: Update a specific lead status.
  • update_addressVisible to othersUpdate an existing address identified by address id. Has effects visible outside this system. API summary: Update a specific entry in the address book.
  • update_brandChanges dataUpdate an existing brand identified by brand id. API summary: Update a specific brand.
  • update_contactChanges dataUpdate an existing contact identified by contact id. API summary: Update a specific job contact.
  • update_custom_fieldChanges dataUpdate an existing custom field identified by custom field id. API summary: Update a specific Custom Field.
  • update_documentChanges dataUpdate an existing document identified by document id. API summary: Update a specific file.
  • update_eventChanges dataUpdate an event by `event_id`: name, dates, times, location, type or confirmed. Only the fields you pass change.
  • update_event_typeChanges dataUpdate an existing event type identified by event type id. API summary: Update a specific event type.
  • update_galleryChanges dataUpdate an existing gallery identified by gallery id. API summary: Update a specific gallery.
  • update_jobChanges dataUpdate a job by `project_id` with fields in `body`, such as name, stage, eventDate, leadStatusId, closed or bookingDate.
  • update_leadChanges dataUpdate an existing lead identified by lead id. API summary: Update a specific lead source.
  • update_mesVisible to othersUpdate an existing me. Has effects visible outside this system. API summary: Update my studio settings.
  • update_messageChanges dataUpdate an existing message identified by message id. API summary: Update a specific note.
  • update_orderChanges dataUpdate an existing order identified by order id. API summary: Update a specific Order.
  • update_paymentChanges dataUpdate an existing payment identified by payment id. API summary: Update a specific payment.
  • update_productChanges dataUpdate an existing product identified by product id. API summary: Update a specific product.
  • update_profit_centerChanges dataUpdate an existing profit center identified by profit center id. API summary: Update a specific profit center.
  • update_projectChanges dataUpdate an existing project identified by project id. API summary: Update a specific job closed reason.
  • update_project_update_resource_job_typeChanges dataUpdate an existing project identified by project id. API summary: Update a specific job role.
  • update_readonly_modesVisible to othersUpdate an existing readonly mode. Has effects visible outside this system. API summary: Set studio to readonly mode.
  • update_rest_hookChanges dataUpdate an existing rest hook identified by rest hook id. API summary: Update a specific RestHook.
  • update_tax_groupChanges dataUpdate an existing tax group identified by tax group id. API summary: Update a specific Tax Group.
  • update_tax_rateChanges dataUpdate an existing tax rate identified by tax rate id. API summary: Update a specific Tax Rate.
  • update_userChanges dataUpdate an existing user identified by user id. API summary: Update a specific user.

Set up in three steps

  1. 1

    Pick the app

    Create a free HeyMyApps account and choose VSCO Workspace from the app list.

  2. 2

    Paste your key

    Paste your studio's VSCO Workspace API key. In VSCO Workspace, open Settings > API (workspace.vsco.co/settings/api) and create or copy the key.

  3. 3

    Add the link to your AI

    You get a personal MCP link. Add it to Claude, ChatGPT or Cursor:

    1. Click your name, then Settings › Connectors › Add custom connector.
    2. Paste your link as the Remote MCP server URL.
    3. Switch it on from the + menu in a chat.

Questions

What can the AI do in VSCO Workspace?

The AI can read your studio settings, jobs, address book, job contacts, events, notes, orders, payments and quotes, and search across them. It can create and update jobs and events, add notes, record payments you received and send quotes to clients.

Does the AI see my VSCO Workspace API key?

No. You enter your VSCO Workspace API key in HeyMyApps once. It is encrypted at rest, never shown to the AI and never shown again after you save it, not even to you. The AI only gets the results of the tools you have switched on.

Can I control what the AI is allowed to do?

Yes. You choose which tools are switched on, so you can start read-only. Sending a quote emails your client and recording a payment changes a job's balance, and both can require your approval before they run. Every tool call is logged.

Does it work with ChatGPT?

Yes. In ChatGPT, open Settings › Apps & Connectors › Advanced, turn on Developer mode and add your HeyMyApps link. Developer mode needs a paid ChatGPT plan: Plus, Pro, Business or Enterprise. The same link also works in Claude (Settings › Connectors › Add custom connector), Cursor and other MCP clients.

What does it cost?

HeyMyApps has a free plan, and you do not need a credit card to start. Paid plans are billed per completed task. You also need your own VSCO Workspace account.

Can the AI charge my clients?

No. The record_payment tool only records a payment you have already received, so the job's balance is right. It does not charge anyone. The only tool that reaches clients is send_quote, which emails a quote.

Let your AI work in VSCO Workspace today.

Start free. Your key stays encrypted, and you decide what the AI may do.

Connect VSCO Workspace free

HeyMyApps is not affiliated with VSCO Workspace. Product names are trademarks of their owners.