Scoro integration
Scoro is a work management and PSA platform for professional services firms. Manage companies, persons and their comments, projects and phases, tasks, time entries and live timers, calendar events and bookings; create and update quotes, orders and sales invoices (lines, payments, PDFs), bills, expenses and purchase orders; manage products, tags, custom module records and webhooks, and read users, statuses, tax rates, units and currencies. Not exposed: company bank accounts and settings, roles and permission sets, labor costs, time off, quote, project and task templates, retainers, revenue forecasts, scheduled invoices and bills, prepayments, refunds, role prices, dependencies, file uploads, notifications and the AI assistant; bank account numbers, personal id codes, sex, birth and employment dates are left out of the answers. Authentication is OAuth 2.0 against your own Scoro site ({site}.scoro.com) with an app you create in the Scoro Developer Portal, and every call also takes your company account ID (Scoro, Settings, Integrations, API).
Say what should happen.
The workflow builds itself.
What you can do with Scoro
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.
Comment, 12 operations
create_company_commentCreate company commentPOSTAdds a comment (HTML) to a company and returns its id; mention a user with @[user:<uuid>].create_invoice_commentCreate invoice commentPOSTAdds a comment (HTML) to a sales invoice and returns its id; mention a user with @[user:<uuid>].create_person_commentCreate person commentPOSTAdds a comment (HTML) to a person and returns its id; mention a user with @[user:<uuid>].create_project_commentCreate project commentPOSTAdds a comment (HTML) to a project and returns its id; mention a user with @[user:<uuid>].create_task_commentCreate task commentPOSTAdds a comment (HTML) to a task and returns its id; mention a user with @[user:<uuid>].delete_commentDelete commentDELETEDeletes a comment by its id.get_commentGet commentGETReturns one comment by its id, whatever record it is attached to.list_company_commentsList company commentsGETLists the comments on a company; paginated with page and perPage.list_invoice_commentsList invoice commentsGETLists the comments on a sales invoice; paginated with page and perPage.list_person_commentsList person commentsGETLists the comments on a person; paginated with page and perPage.list_project_commentsList project commentsGETLists the comments on a project; paginated with page and perPage.list_task_commentsList task commentsGETLists the comments on a task; paginated with page and perPage.
Line, 6 operations
delete_invoice_lineDelete invoice lineDELETEDeletes one line of a sales invoice.delete_order_lineDelete order lineDELETEDeletes one line of an order.delete_quote_lineDelete quote lineDELETEDeletes one line of a quote.list_invoice_linesList invoice linesGETLists all line items of a sales invoice (not paginated).list_order_linesList order linesGETLists all line items of an order (not paginated).list_quote_linesList quote linesGETLists all line items of a quote (not paginated).
Time entry, 5 operations
create_time_entryCreate time entryPOSTLogs a time entry on a task and returns its id.delete_time_entryDelete time entryDELETEDeletes a time entry. Scoro soft-deletes it: it can still be listed with the isDeleted filter set to true.get_time_entryGet time entryGETReturns one time entry by its id.list_task_time_entriesList task time entriesGETLists all time entries of one task (not paginated).list_time_entriesList time entriesGETLists time entries across tasks. Pages of perPage items (default 20, max 100); the answer is a plain array with no total, so ask for the next page until one returns fewer than perPage items.
Bill, 4 operations
create_billCreate billPOSTCreates a bill (purchase invoice) and returns its new id.delete_billDelete billDELETEDeletes a bill (purchase invoice). Scoro soft-deletes it: it disappears from lists but can still be listed with the isDeleted filter set to true.get_billGet billGETReturns one bill (purchase invoice) by its id (from list_bills), with all its fields.list_billsList billsGETLists bills (purchase invoices), pages of perPage items (default 20, max 100); the answer is a plain array with no total, so ask for the next page until one returns fewer than perPage items.
Booking, 4 operations
create_bookingCreate bookingPOSTCreates a booking (resource planning allocation) and returns its new id.delete_bookingDelete bookingDELETEDeletes a booking (resource planning allocation) by its id.get_bookingGet bookingGETReturns one booking (resource planning allocation) by its id (from list_bookings), with all its fields.list_bookingsList bookingsGETLists bookings (resource planning allocations), pages of perPage items (default 20, max 100); the answer is a plain array with no total, so ask for the next page until one returns fewer than perPage items.
Calendar, 4 operations
create_calendar_eventCreate calendar eventPOSTCreates a calendar event and returns its new id.delete_calendar_eventDelete calendar eventDELETEDeletes a calendar event. Scoro soft-deletes it: it disappears from lists but can still be listed with the isDeleted filter set to true.get_calendar_eventGet calendar eventGETReturns one calendar event by its id (from list_calendar_events), with all its fields.list_calendar_eventsList calendar eventsGETLists calendar events, pages of perPage items (default 20, max 100); the answer is a plain array with no total, so ask for the next page until one returns fewer than perPage items.
Company, 4 operations
create_companyCreate companyPOSTCreates a company and returns its new id.delete_companyDelete companyDELETEDeletes a company. Scoro soft-deletes it: it disappears from lists but can still be listed with the isDeleted filter set to true.get_companyGet companyGETReturns one company by its id (from list_companies), with all its fields.list_companiesList companiesGETLists companies, pages of perPage items (default 20, max 100); the answer is a plain array with no total, so ask for the next page until one returns fewer than perPage items.
Custom, 4 operations
create_custom_module_recordCreate custom module recordPOSTCreates a record in a custom module and returns its new id.delete_custom_module_recordDelete custom module recordDELETEDeletes a record of a custom module. Scoro soft-deletes it: it can still be listed with the isDeleted filter set to true.get_custom_module_recordGet custom module recordGETReturns one record of a custom module by its id.list_custom_module_recordsList custom module recordsGETLists the records of a custom module (path from list_custom_modules). Pages of perPage items (default 20, max 100); the answer is a plain array with no total, so ask for the next page until one returns fewer than perPage items.
Expense, 4 operations
create_expenseCreate expensePOSTCreates a expense and returns its new id.delete_expenseDelete expenseDELETEDeletes a expense. Scoro soft-deletes it: it disappears from lists but can still be listed with the isDeleted filter set to true.get_expenseGet expenseGETReturns one expense by its id (from list_expenses), with all its fields.list_expensesList expensesGETLists expenses, pages of perPage items (default 20, max 100); the answer is a plain array with no total, so ask for the next page until one returns fewer than perPage items.
Invoice, 4 operations
create_invoiceCreate invoicePOSTCreates a sales invoice and returns its new id.delete_invoiceDelete invoiceDELETEDeletes a sales invoice. Scoro soft-deletes it: it disappears from lists but can still be listed with the isDeleted filter set to true.get_invoiceGet invoiceGETReturns one sales invoice by its id (from list_invoices), with all its fields.list_invoicesList invoicesGETLists sales invoices, pages of perPage items (default 20, max 100); the answer is a plain array with no total, so ask for the next page until one returns fewer than perPage items.
Order, 4 operations
create_orderCreate orderPOSTCreates a order and returns its new id.delete_orderDelete orderDELETEDeletes a order. Scoro soft-deletes it: it disappears from lists but can still be listed with the isDeleted filter set to true.get_orderGet orderGETReturns one order by its id (from list_orders), with all its fields.list_ordersList ordersGETLists orders, pages of perPage items (default 20, max 100); the answer is a plain array with no total, so ask for the next page until one returns fewer than perPage items.
Person, 4 operations
create_personCreate personPOSTCreates a person and returns its new id.delete_personDelete personDELETEDeletes a person. Scoro soft-deletes it: it disappears from lists but can still be listed with the isDeleted filter set to true.get_personGet personGETReturns one person by its id (from list_persons), with all its fields.list_personsList personsGETLists persons, pages of perPage items (default 20, max 100); the answer is a plain array with no total, so ask for the next page until one returns fewer than perPage items.
Product, 4 operations
create_productCreate productPOSTCreates a product and returns its new id.delete_productDelete productDELETEDeletes a product. Deleted products can still be listed with the isDeleted filter set to true.get_productGet productGETReturns one product by its id (from list_products), with all its fields.list_productsList productsGETLists products, pages of perPage items (default 20, max 100); the answer is a plain array with no total, so ask for the next page until one returns fewer than perPage items.
Project, 4 operations
create_projectCreate projectPOSTCreates a project and returns its new id.delete_projectDelete projectDELETEDeletes a project. Deleted projects can still be listed with the isDeleted filter set to true.get_projectGet projectGETReturns one project by its id (from list_projects), with all its fields.list_projectsList projectsGETLists projects, pages of perPage items (default 20, max 100); the answer is a plain array with no total, so ask for the next page until one returns fewer than perPage items.
Purchase order, 4 operations
create_purchase_orderCreate purchase orderPOSTCreates a purchase order and returns its new id.delete_purchase_orderDelete purchase orderDELETEDeletes a purchase order. Scoro soft-deletes it: it disappears from lists but can still be listed with the isDeleted filter set to true.get_purchase_orderGet purchase orderGETReturns one purchase order by its id (from list_purchase_orders), with all its fields.list_purchase_ordersList purchase ordersGETLists purchase orders, pages of perPage items (default 20, max 100); the answer is a plain array with no total, so ask for the next page until one returns fewer than perPage items.
Quote, 4 operations
create_quoteCreate quotePOSTCreates a quote and returns its new id.delete_quoteDelete quoteDELETEDeletes a quote. Scoro soft-deletes it: it disappears from lists but can still be listed with the isDeleted filter set to true.get_quoteGet quoteGETReturns one quote by its id (from list_quotes), with all its fields.list_quotesList quotesGETLists quotes, pages of perPage items (default 20, max 100); the answer is a plain array with no total, so ask for the next page until one returns fewer than perPage items.
Task, 4 operations
create_taskCreate taskPOSTCreates a task and returns its new id.delete_taskDelete taskDELETEDeletes a task. Scoro soft-deletes it: it disappears from lists but can still be listed with the isDeleted filter set to true.get_taskGet taskGETReturns one task by its id (from list_tasks), with all its fields.list_tasksList tasksGETLists tasks, pages of perPage items (default 20, max 100); the answer is a plain array with no total, so ask for the next page until one returns fewer than perPage items.
File, 3 operations
delete_fileDelete fileDELETEDeletes a file by its id.get_fileGet fileGETReturns the metadata of one file (name, size, content type, uploader, privacy, link). Use download_file for the content.list_filesList filesGETLists file metadata the connected user may see (not the content: use download_file). Pages of perPage items (default 20, max 100); the answer is a plain array with no total, so ask for the next page until one returns fewer than perPage items.
Pdf, 3 operations
get_invoice_pdfGet invoice pdfGETDownloads a sales invoice as a PDF file, optionally with a given PDF template (list_pdf_templates).get_order_pdfGet order pdfGETDownloads an order as a PDF file, optionally with a given PDF template (list_pdf_templates).get_quote_pdfGet quote pdfGETDownloads a quote as a PDF file, optionally with a given PDF template (list_pdf_templates).
Webhook, 3 operations
create_webhookCreate webhookPOSTSubscribes a URL to changes (create, modify, delete or any) in a module. Scoro POSTs {entityId, entityType, actorId, entity} within minutes, unsigned and never retried.delete_webhookDelete webhookDELETEDeletes a webhook subscription; Scoro stops calling its URL.list_webhooksList webhooksGETLists the connected user's webhook subscriptions. Paginated with page and perPage.
Bill payment, 2 operations
get_bill_paymentGet bill paymentGETReturns one bill payment by its id (from list_bill_payments), with all its fields.list_bill_paymentsList bill paymentsGETLists bill payments, pages of perPage items (default 20, max 100); the answer is a plain array with no total, so ask for the next page until one returns fewer than perPage items.
Invoice payment, 2 operations
get_invoice_paymentGet invoice paymentGETReturns one invoice payment by its id (from list_invoice_payments), with all its fields.list_invoice_paymentsList invoice paymentsGETLists invoice payments, pages of perPage items (default 20, max 100); the answer is a plain array with no total, so ask for the next page until one returns fewer than perPage items.
Payment, 2 operations
add_payment_to_invoiceAdd payment to invoicePOSTRecords a payment against a sales invoice: creates the payment and allocates it to this invoice in one call. Only amount is required.list_payments_of_invoiceList payments of invoiceGETLists the payments allocated to a sales invoice (not paginated).
Phase, 2 operations
create_project_phaseCreate project phasePOSTAdds a phase to a project and returns its id.list_project_phasesList project phasesGETLists the phases of a project. Paginated with page and perPage.
Tag, 2 operations
create_tagCreate tagPOSTCreates a tag of a given type (name and type are required) and returns its id.list_tagsList tagsGETLists tags of one type (filters.type is required: contacts, companies, persons, projects, products, general, users or a custom module path). Paginated with page and perPage.
User, 2 operations
get_userGet userGETReturns one user by its id (from list_users), with all its fields.list_usersList usersGETLists users, pages of perPage items (default 20, max 100); the answer is a plain array with no total, so ask for the next page until one returns fewer than perPage items.
Budget, 1 operation
get_project_budgetGet project budgetGETReturns the budget of a project (planned and actual figures), in the project price list currency unless currency is given.
Complete, 1 operation
complete_time_trackerComplete time trackerPOSTStops a time tracker and logs the tracked time as a time entry.
Contact address, 1 operation
list_contact_addressesList contact addressesGETLists the addresses of companies and persons the connected user may see. Pages of perPage items (default 20, max 100); the answer is a plain array with no total, so ask for the next page until one returns fewer than perPage items.
Contact category, 1 operation
list_contact_categoriesList contact categoriesGETLists contact categories, pages of perPage items (default 20, max 100); the answer is a plain array with no total, so ask for the next page until one returns fewer than perPage items.
Contact relation type, 1 operation
list_contact_relation_typesList contact relation typesGETLists contact relation types, pages of perPage items (default 20, max 100); the answer is a plain array with no total, so ask for the next page until one returns fewer than perPage items.
Currency, 1 operation
list_currenciesList currenciesGETLists the currencies of Scoro's preset ECB catalog with whether each is active on the site. Paginated with page and perPage.
Custom field, 1 operation
list_custom_fieldsList custom fieldsGETLists the custom fields defined for a module (companies, projects, tasks...): use each field's id as the key in customFields and in filters.customFields. Not paginated.
Custom module, 1 operation
list_custom_modulesList custom modulesGETLists the custom modules the connected user can access, with the path to pass to the custom module record tools. Paginated with page and perPage.
Download, 1 operation
download_fileDownload fileGETDownloads the content of a file by its id (from list_files or search_files) and returns it as a stored file.
Free time slot, 1 operation
find_free_time_slotsFind free time slotsGETFinds slots when the given users are all free between filters.startDate and filters.endDate (at most 14 days apart). Not paginated.
Mark paid, 1 operation
mark_invoice_paidMark invoice paidPOSTMarks a sales invoice as fully paid: records a payment for the outstanding balance on the default payment account, dated today, and returns its id. No payment and no id if already settled.
Me, 1 operation
get_current_userGet current userGETReturns the connected Scoro user: id, name, email, the company accounts it can use and its enabled permissions.
Payment account, 1 operation
list_payment_accountsList payment accountsGETLists payment accounts, pages of perPage items (default 20, max 100); the answer is a plain array with no total, so ask for the next page until one returns fewer than perPage items.
Pdf template, 1 operation
list_pdf_templatesList pdf templatesGETLists PDF templates, pages of perPage items (default 20, max 100); the answer is a plain array with no total, so ask for the next page until one returns fewer than perPage items.
Product group, 1 operation
list_product_groupsList product groupsGETLists product groups, pages of perPage items (default 20, max 100); the answer is a plain array with no total, so ask for the next page until one returns fewer than perPage items.
Status, 1 operation
list_statusesList statusesGETLists statuses, pages of perPage items (default 20, max 100); the answer is a plain array with no total, so ask for the next page until one returns fewer than perPage items.
Tax rate, 1 operation
list_tax_ratesList tax ratesGETLists tax rates, pages of perPage items (default 20, max 100); the answer is a plain array with no total, so ask for the next page until one returns fewer than perPage items.
Time tracker, 1 operation
list_time_trackersList time trackersGETLists the connected user's own time trackers (live timers). Paginated with page and perPage.
Unit, 1 operation
list_unitsList unitsGETLists units of measure, pages of perPage items (default 20, max 100); the answer is a plain array with no total, so ask for the next page until one returns fewer than perPage items.
User group, 1 operation
list_user_groupsList user groupsGETLists user groups, pages of perPage items (default 20, max 100); the answer is a plain array with no total, so ask for the next page until one returns fewer than perPage items.
Showing the first 120 of 157 endpoints. The rest are in the product, searchable from the workflow builder and from chat.
Use Scoro from Claude Code, Cursor or Codex
Connect Scoro in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Scoro operations become tools the client can call, next to every other integration you connected.
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect Scoro
- Create your workspace
Sign up free. Nothing to install.
- Connect Scoro once
Add your Scoro connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.
- 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.
Scoro integration FAQ
What can you do with the Scoro integration?
LiveContext exposes 157 operations on Scoro, covering comment, line, time entry and bill.
