Integration

RepairShopr integration

RepairShopr is shop management software for repair businesses. Manage tickets (repair jobs) with comments, time tracking, charges, attachments and worksheets, customers, contacts and their devices (assets), appointments, leads, estimates and invoices with line items, payments, inventory products, parts orders, purchase orders, vendors and service contracts, and submit check-in forms. Customers, contacts, leads, tickets and comments are personal data; custom field values (properties), portal links and intake/outtake form HTML are not returned because they can hold device passwords and portal access keys. Left out: card payments and stored payment profiles, portal users, login, account settings, canned responses, wiki pages, RMM alerts and scripts, recurring invoice schedules, global search, printing, product serials and SKUs, image uploads and time clock. Authentication is an API token created under More > Admin > API - API Tokens (its permissions decide which tools succeed), sent as a Bearer token, plus your RepairShopr subdomain (yourshop for yourshop.repairshopr.com).

Ask it in chat

Say what should happen.
The workflow builds itself.

When this happens, do that in RepairShopr.Built from the 113 RepairShopr tools below, on the connection you add once.

What you can do with RepairShopr

Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.

Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.

Line item, 7 operations

  • add_estimate_line_itemAdd estimate line itemPOSTAdds a line item to an estimate, from a product (product_id or upc_code) or a free item with name, price, cost, quantity, discount and tax settings.
  • add_invoice_line_itemAdd invoice line itemPOSTAdds a line item to an invoice, from a product (product_id, upc_code or item name, whose price and cost then win) or a free item with name, price, cost and quantity.
  • delete_estimate_line_itemDelete estimate line itemDELETERemoves a line item from an estimate and returns the estimate.
  • delete_invoice_line_itemDelete invoice line itemDELETERemoves a line item from an invoice.
  • list_line_itemsList line itemsGETLists invoice and estimate line items (item, name, cost, price, quantity, product, discount). Filter by invoice_id or estimate_id. Needs a Global Admin token.
  • update_estimate_line_itemUpdate estimate line itemPUTUpdates a line item of an estimate: item, name, quantity, price, cost, discount, tax settings or position.
  • update_invoice_line_itemUpdate invoice line itemPUTUpdates a line item of an invoice: item, name, price, cost, discount or taxable. Every field sent overwrites the stored value.

Appointment, 5 operations

  • create_appointmentCreate appointmentPOSTCreates an appointment on the calendar (summary and start_at required), optionally for a customer and ticket and assigned to users. Set email_customer to email the customer about it.
  • delete_appointmentDelete appointmentDELETEDeletes an appointment.
  • get_appointmentGet appointmentGETReturns one appointment with its summary, description, start and end, duration, location, type, linked ticket and customer. Personal data.
  • list_appointmentsList appointmentsGETLists appointments, 25 per page, each with its summary, start and end, duration, location, linked ticket id and customer. Filter by start date range or mine. Personal data.
  • update_appointmentUpdate appointmentPUTUpdates an appointment's time, summary, description, location, type, customer, ticket or assigned users. start_at is required.

Contact, 5 operations

  • create_contactCreate contactPOSTCreates a contact (a person at a customer) with name, address, email, phones and notes. customer_id is required.
  • delete_contactDelete contactDELETEDeletes a contact.
  • get_contactGet contactGETReturns one contact with name, address, email, phone, mobile, notes and its customer. Personal data.
  • list_contactsList contactsGETLists contacts (people at a customer), 25 per page, with name, address, email, phone, mobile and notes. Filter by customer_id. Personal data.
  • update_contactUpdate contactPUTUpdates a contact's name, address, email, phones, title or notes. name is required.

Contract, 5 operations

  • create_contractCreate contractPOSTCreates a service contract for a customer, with amount, dates, status, SLA, the covered products and their contracted rates, and the non-billable products, in one call.
  • delete_contractDelete contractDELETEDeletes a service contract.
  • get_contractGet contractGETReturns one service contract with its customer, amount, dates, status, SLA, covered products with contracted rates and non-billable products.
  • list_contractsList contractsGETLists service contracts, 50 per page, with customer, amount, dates, status, SLA, and the covered products with their contracted rates.
  • update_contractUpdate contractPUTUpdates a service contract. The covered products and the non-billable products sent replace the whole existing lists.

Customer, 5 operations

  • create_customerCreate customerPOSTCreates a customer (a person or a business) with contact details, address, notes, tax rate, invoice terms and messaging preferences.
  • delete_customerDelete customerDELETEDeletes a customer.
  • get_customerGet customerGETReturns one customer with name, business, email, phones, address, notes, tax and invoice settings and messaging preferences; list_contacts gives its contacts. Personal data.
  • list_customersList customersGETLists customers, 25 per page, with name, business, email, phones, address, notes and preferences. Filter by name, business, email or a search query; include_disabled adds disabled ones. Personal data.
  • update_customerUpdate customerPUTUpdates a customer's contact details, address, notes, tax and invoice settings or messaging preferences.

Estimate, 5 operations

  • create_estimateCreate estimatePOSTCreates an estimate (quote) for a customer, with status (Fresh, Draft, Approved or Declined), date, note, linked ticket and line items.
  • delete_estimateDelete estimateDELETEDeletes an estimate.
  • get_estimateGet estimateGETReturns one estimate with its number, customer, status, date, subtotal, tax, total, linked ticket and invoice, and PDF link. number finds it when the id does not.
  • list_estimatesList estimatesGETLists estimates (quotes), 50 per page, with number, customer, status, date, totals and PDF link. Filter by customer, status, mine, or created or updated after a time.
  • update_estimateUpdate estimatePUTUpdates an estimate's name, number, date, customer, note, status (Fresh, Draft, Approved or Declined), ticket or location.

Invoice, 5 operations

  • create_invoiceCreate invoicePOSTCreates an invoice for a customer with date, due date, PO number, note, linked ticket and line items. Totals come from the line items. paid=true with line_items takes a real payment from the customer for it at once.
  • delete_invoiceDelete invoiceDELETEDeletes an invoice. RepairShopr answers 200 even when the delete fails, so check with get_invoice.
  • get_invoiceGet invoiceGETReturns one invoice (by id or by number) with customer, dates, subtotal, tax, total, paid flags, linked ticket, PDF link and line items. Personal data.
  • list_invoicesList invoicesGETLists invoices, 25 per page, with number, customer, dates, subtotal, tax, total, paid flags, linked ticket and PDF link. Filter by paid, unpaid, ticket or updated since a date.
  • update_invoiceUpdate invoicePUTUpdates an invoice's customer, name, number, dates, employee, ticket, location, PO number or note. Every field sent overwrites the stored value.

Ticket, 5 operations

  • create_ticketCreate ticketPOSTCreates a ticket (repair job) for a customer with subject, problem type, status, type, due date, assignee, priority, assets and a first comment (comments_attributes), which can be emailed to the customer unless hidden or do_not_email is set.
  • delete_ticketDelete ticketDELETEDeletes a ticket.
  • get_ticketGet ticketGETReturns one ticket with status, dates, customer, contact, assignee, ticket type and fields, comments, attachments, timers, line items, worksheets and the ids of its assets. Personal data.
  • list_ticketsList ticketsGETLists tickets (repair jobs), 25 per page, with number, subject, status, problem type, customer, due date, assignee, priority and SLA flags. Filter by customer, status, dates, user, number or query.
  • update_ticketUpdate ticketPUTUpdates a ticket's subject, status, problem type, type, dates, assignee, priority, customer, contact, assets, SLA or parent ticket.

Worksheet result, 5 operations

  • create_worksheet_resultCreate worksheet resultPOSTAttaches a worksheet (checklist) to a ticket from a worksheet template, with a title and public and required flags.
  • delete_worksheet_resultDelete worksheet resultDELETERemoves a worksheet from a ticket.
  • get_worksheet_resultGet worksheet resultGETReturns one worksheet (checklist) of a ticket with its fields and answers.
  • list_worksheet_resultsList worksheet resultsGETLists the worksheets (checklists) attached to a ticket with their name, completion, required flag and fields with answers.
  • update_worksheet_resultUpdate worksheet resultPUTUpdates a worksheet of a ticket: title, flags, completion and the answers of its fields (answers keyed by field slug).

Customer asset, 4 operations

  • create_customer_assetCreate customer assetPOSTCreates a customer asset (a device) with a name, an asset type (by id or name), a serial number and the customer it belongs to.
  • get_customer_assetGet customer assetGETReturns one customer asset (a device) with its name, type, serial number, customer and address.
  • list_customer_assetsList customer assetsGETLists customer assets (devices and equipment), 25 per page, with name, type, serial number, customer and address. Filter by customer, asset type or a search query.
  • update_customer_assetUpdate customer assetPUTUpdates a customer asset's name, type, serial number or customer. name is required.

Lead, 4 operations

  • create_leadCreate leadPOSTCreates a lead (an enquiry) with the person's name and contact details, the problem (ticket subject, description, problem type), status, assigned user and appointment time.
  • get_leadGet leadGETReturns one lead with name, contact details, status, ticket subject, description and problem type, linked customer, contact and ticket. Personal data.
  • list_leadsList leadsGETLists leads (sales enquiries), 25 per page, with name, contact details, status, ticket subject and description. Filter by status_list, has_ticket or a search query. Personal data.
  • update_leadUpdate leadPUTUpdates a lead's contact details, status, problem description, assignment, linked customer or ticket.

Phone, 4 operations

  • create_customer_phoneCreate customer phonePOSTAdds a phone number (label, number, extension) to a customer.
  • delete_customer_phoneDelete customer phoneDELETERemoves a phone number from a customer.
  • list_customer_phonesList customer phonesGETLists the phone numbers of one customer, each with its label, number and extension. Personal data.
  • update_customer_phoneUpdate customer phonePUTUpdates the label, number or extension of one of a customer's phone numbers.

Product, 4 operations

  • create_productCreate productPOSTCreates an inventory product with name and description (both required), prices, stock settings, category, UPC code, warranty, vendors and tax settings.
  • get_productGet productGETReturns one inventory product with name, description, prices, stock quantity, category, UPC code, warranty and stock settings.
  • list_productsList productsGETLists inventory products, 25 per page, with name, description, cost, retail and wholesale prices, quantity in stock, category, UPC code and stock settings. Filter by name, SKU, UPC, category or query.
  • update_productUpdate productPUTUpdates an inventory product's name, description, prices, stock settings, category, UPC code, warranty, vendors or tax settings. name and description are required.

Purchase order, 4 operations

  • create_purchase_orderCreate purchase orderPOSTCreates a purchase order to a vendor with dates, notes, shipping, discount, location and tracking. Add products to it with add_purchase_order_line_item.
  • get_purchase_orderGet purchase orderGETReturns one purchase order with its vendor, status, dates, shipping, total and line items.
  • list_purchase_ordersList purchase ordersGETLists purchase orders to vendors with number, vendor, status, dates, shipping, total and line items.
  • update_purchase_orderUpdate purchase orderPUTUpdates a purchase order. Only status, general_notes, shipping_cents, delivery_tracking and vendor_id can be changed.

Vendor, 4 operations

  • create_vendorCreate vendorPOSTCreates a vendor (supplier) with name, sales rep, contact details, account number, address, website and notes.
  • get_vendorGet vendorGETReturns one vendor (supplier) with name, sales rep, contact details, account number, address, website and notes.
  • list_vendorsList vendorsGETLists vendors (suppliers), 100 per page, with name, sales rep, email, phone, account number, address, website and notes.
  • update_vendorUpdate vendorPUTUpdates a vendor's name, sales rep, contact details, account number, address, website or notes.

Payment, 3 operations

  • create_paymentCreate paymentPOSTRecords a payment from a customer against an invoice (invoice_id or invoice_number) or several (apply_payments), with a payment method name from list_payment_methods. Card-number fields are not offered.
  • get_paymentGet paymentGETReturns one payment with amount, method, reference number, the invoices it paid, success flag, processor response and customer. Personal data.
  • list_paymentsList paymentsGETLists payments received, 25 per page, with amount, method, reference number, the invoices paid, success flag and customer. Filter with a search query. Personal data.

Ticket timer, 3 operations

  • create_ticket_timerCreate ticket timerPOSTStarts a new timer on a ticket for the token's user (running from now), optionally billable, with notes and a labor product.
  • list_ticket_timersList ticket timersGETLists ticket timers (time tracked on tickets), 25 per page, with ticket, user, start and end, duration, billable time and status. Filter by dates, customer, ticket, user, status or billing status.
  • update_ticket_timerUpdate ticket timerPATCHChanges whether a ticket timer is billable.

Comment, 2 operations

  • add_ticket_commentAdd ticket commentPOSTAdds a comment to a ticket. A comment that is not hidden is visible to the customer and is emailed to them (texted too when sms_body is set) unless do_not_email is true: it reaches a real person. Set hidden for an internal note.
  • list_ticket_commentsList ticket commentsGETLists the comments of one ticket, 10 per page by default, with subject, body, author, hidden flag and dates, sortable and filterable by date. Personal data.

Email, 2 operations

  • email_estimateEmail estimatePOSTEmails the estimate to its customer. This sends a real email to the customer.
  • email_invoiceEmail invoicePOSTEmails the invoice to its customer. This sends a real email to the customer.

New ticket form, 2 operations

  • get_new_ticket_formGet new ticket formGETReturns one new-ticket form (check-in form) with its name, flags and the customer, ticket and appointment fields it asks for.
  • list_new_ticket_formsList new ticket formsGETLists the account's new-ticket forms (check-in forms) with their name, default and disabled flags and field layout.

User, 2 operations

  • get_userGet userGETReturns one user with email, full name, group, admin flag and color. Personal data.
  • list_usersList usersGETLists the account's users (technicians and staff) as pairs of user id and full name. Use an id as user_id to assign tickets and appointments.

Add line item, 1 operation

  • add_ticket_line_itemAdd ticket line itemPOSTAdds a charge line item to a ticket, from a product (product_id or upc_code) or a free item with name, description, quantity, cost and retail price.

Apply, 1 operation

  • apply_ticket_blueprintApply ticket blueprintPOSTCreates a parent ticket and its child tickets from a blueprint for a customer. Returns the parent ticket id and the child ticket ids.

Appointment type, 1 operation

  • list_appointment_typesList appointment typesGETLists the account's appointment types with their name, location type and email instructions. Use an id as appointment_type_id when creating appointments.

Assets by contact, 1 operation

  • list_contact_assetsList contact assetsGETLists the assets (devices) linked to one contact, 50 per page, with name, type, serial number and customer.

Attach file url, 1 operation

  • attach_file_to_ticketAttach file to ticketPOSTAttaches files to a ticket by URL (each a url and a filename).

Barcode, 1 operation

  • get_product_by_barcodeGet product by barcodeGETFinds one product by its barcode (UPC code) and returns it with prices, stock and category.

Category, 1 operation

  • list_product_categoriesList product categoriesGETLists the product categories with their id, name, parent path and description.

Charge timer entry, 1 operation

  • charge_ticket_timer_entryCharge ticket timer entryPOSTCharges a ticket timer entry (timer_entry_id) to the ticket, creating the ticket line item for its time.

Convert to invoice, 1 operation

  • convert_estimate_to_invoiceConvert estimate to invoicePOSTConverts an estimate into an invoice and returns the new invoice.

Create po line item, 1 operation

  • add_purchase_order_line_itemAdd purchase order line itemPOSTAdds a product with a quantity to a purchase order.

Delete attachment, 1 operation

  • delete_ticket_attachmentDelete ticket attachmentPOSTDeletes one attachment (attachment_id) from a ticket.

Delete timer entry, 1 operation

  • delete_ticket_timer_entryDelete ticket timer entryPOSTDeletes one timer entry (timer_entry_id) from a ticket.

Item, 1 operation

  • list_part_ordersList part ordersGETLists parts orders (parts ordered for repairs), 50 per page, with description, ticket, ordered and received dates, tracking number, price and destination. Filter by completed or a search query.

Location quantity, 1 operation

  • update_product_location_quantityUpdate product location quantityPUTSets the stock quantity of a product at one location (location_quantity_id) and returns that location's stock record.

Me, 1 operation

  • get_meGet meGETReturns the user the API token belongs to: email, name, id, admin flag, subdomain, allowed locations and permissions per area (assets, customers, tickets, invoices, payments, worksheets).

Pause, 1 operation

  • pause_ticket_timerPause ticket timerPOSTPauses a running ticket timer. Fails with 422 when it is not running.

Payment method, 1 operation

  • list_payment_methodsList payment methodsGETLists the account's payment methods (such as Cash, Check or Credit Card) with their name and whether they use card processing. Use a name as the payment_method of create_payment.

Process form, 1 operation

  • submit_new_ticket_formSubmit new ticket formPOSTSubmits a new-ticket (check-in) form with its customer_details, ticket_details and optional appointments, which creates a ticket. Returns the created ticket.

Receive, 1 operation

  • receive_purchase_orderReceive purchase orderPOSTReceives items of a purchase order into stock. For a line item (line_item_id), received_quantity receives part of a non-serialized product and serial_numbers the serials of a serialized one.

Remove line item, 1 operation

  • remove_ticket_line_itemRemove ticket line itemPOSTRemoves one charge line item (ticket_line_item_id) from a ticket.

Setting, 1 operation

  • get_ticket_settingsGet ticket settingsGETReturns ticket settings: the ticket statuses, ticket types, saved searches, appointment types, users, worksheet templates and the intake and outtake form requirements.

Start, 1 operation

  • start_ticket_timerStart ticket timerPOSTStarts a ticket timer that never ran, or resumes a paused one. Fails with 422 when it is running or stopped.

Stop, 1 operation

  • stop_ticket_timerStop ticket timerPOSTStops a running or paused ticket timer. Fails with 422 when it is already stopped.

Ticket blueprint, 1 operation

  • list_ticket_blueprintsList ticket blueprintsGETLists the ticket blueprints available for ticket creation (templates of a parent ticket with child tickets), with name and number of child tickets.

Ticket comment, 1 operation

  • list_comments_across_ticketsList comments across ticketsGETLists comments across many tickets in one flat list (by ticket id, newest comment first), filtered by ticket, customer, contact, user, status, dates or a saved ticket view. Personal data.

Timer entry, 1 operation

  • add_ticket_timer_entryAdd ticket timer entryPOSTRecords a time entry on a ticket from start_at and end_at or duration_minutes, for a user (the token's user by default), with notes and a labor product.

Update line item, 1 operation

  • update_ticket_line_itemUpdate ticket line itemPUTUpdates a charge line item of a ticket (ticket_line_item_id): name, description, quantity, prices or taxable.

Update timer entry, 1 operation

  • update_ticket_timer_entryUpdate ticket timer entryPUTUpdates a ticket timer entry (timer_entry_id): start, duration, user, notes, labor product or billable override.

Use RepairShopr from Claude Code, Cursor or Codex

Connect RepairShopr in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its RepairShopr operations become tools the client can call, next to every other integration you connected.

Claude Code
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"
Codex (~/.codex/config.toml)
[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"

[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"
Cursor, Claude Desktop and other JSON configs
{
  "mcpServers": {
    "livecontext": {
      "type": "http",
      "url": "https://livecontext.ai/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Set up the MCP server step by step

How to connect RepairShopr

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect RepairShopr once

    Add your RepairShopr connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.

  3. Describe the job in chat

    The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.

RepairShopr integration FAQ

What can you do with the RepairShopr integration?

LiveContext exposes 113 operations on RepairShopr, covering line item, appointment, contact and contract.

Popular integrations

Browse the whole catalog