Rofinery AI assistant using MCP

Last updated July 16, 2026

The Rofinery AI assistant connects directly to your account data, letting you ask questions and take actions using natural language. All data is scoped to your team.


Getting connected

Before the assistant can do any of the above, you need to link your AI tool to Rofinery.

If you are connecting with Claude, the easiest way to do this is as shown in this video.

This can be done in another way if you have a different AI tool to Claude (videos will follow for other tools soon): creating a personal API token in Rofinery, and then telling your AI tool where Rofinery is and how to authenticate.

Step 1 - create an API token

  1. In Rofinery, open the account menu (top right) and go to API tokens & AI tools.
  2. Under Create API Token, give your token a name you'll recognise - for example Claude or VS Code.
  3. Tick the abilities you want to grant. Tick read for read-only access, or tick read, create, update, and delete to let the assistant take actions on your behalf as well.
  4. Click Create and copy the token straight away - it's only shown once.

Step 2 - connect your tool

Pick the tool you use and follow the steps for it below.

VS Code

VS Code reads its MCP server list from a file called mcp.json. You need to create this file inside your project folder.

  1. In VS Code, open the folder you're working in.
  2. Inside that folder, create a subfolder called .vscode if one doesn't already exist.
  3. Inside .vscode, create a new file called mcp.json.
  4. Copy the configuration from the VS Code tab on the API tokens page and paste it into this file.
  5. Save the file. VS Code will detect the server and ask for your Rofinery token the first time you use it. It stores the token securely so you only need to enter it once.

If you want the connection available across all projects rather than just one, press Cmd+Shift+P (Mac) or Ctrl+Shift+P (Windows), search for Open User Settings (JSON), and paste the configuration there under a top-level "mcp" key.

Cursor

Cursor stores all its MCP servers in a single file in your home folder.

  1. Find the file ~/.cursor/mcp.json. The ~ is shorthand for your home folder - on a Mac this is /Users/yourname, on Windows it's C:\Users\yourname.
  2. If the file doesn't exist yet, create it.
  3. If the file already has content, add the Rofinery block inside the existing "mcpServers" object rather than replacing the whole file.
  4. Copy the configuration from the Cursor tab on the API tokens page, replace YOUR_API_TOKEN with your token, and save.
  5. Restart Cursor.

Claude Code

Claude Code is a command-line tool. If you have it installed, open a terminal and run the command shown on the Claude Code tab on the API tokens page, replacing YOUR_API_TOKEN with your token.

If you're not sure whether Claude Code is installed, type claude --version in a terminal. If you see a version number it's installed; if not, you're probably using Claude Desktop instead.

Claude Desktop

Claude Desktop can't pass an authentication header directly, so this setup uses a small bridge called mcp-remote that runs automatically when needed. The bridge requires Node.js to be installed on your computer.

What is Node.js and do I already have it?

Node.js is a free, widely used runtime that lets small tools run on your machine. To check whether it's already installed, open a terminal (search for Terminal on Mac, or Command Prompt on Windows) and type:

node --version

If you see a version number (for example v20.11.0) it's installed. If you get an error, you'll need to install it:

  1. Go to https://nodejs.org and download the LTS version.
  2. Run the installer and follow the steps - the defaults are fine.
  3. You don't need to open or use Node.js directly. It just makes tools like mcp-remote available in the background.

Adding the Rofinery server to Claude Desktop

Claude Desktop reads its configuration from a file called claude_desktop_config.json. The location depends on your operating system:

  • Mac: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

To open the Library folder on a Mac: open Finder, hold the Option key, click the Go menu, and choose Library. Then navigate to Application Support → Claude.

  1. Open claude_desktop_config.json in a text editor. If the file doesn't exist, create it.
  2. If the file already has content, add the Rofinery block inside the existing "mcpServers" object. If it's empty or new, paste in the full configuration from the Claude Desktop tab on the API tokens page.
  3. Replace YOUR_API_TOKEN with the token you created.
  4. Save the file, then fully quit and reopen Claude Desktop. On a Mac, right-click the Dock icon and choose Quit - closing the window isn't enough.

Step 3 - verify the connection

Once connected, ask the assistant something simple such as:

  • "What team am I on?"

  • "Show me my open leads"

If the connection is working, you'll get a response drawn from your Rofinery data.

If something goes wrong:

  • Check the token was copied correctly with no extra spaces

  • Check the token still exists in Rofinery - go to API tokens & AI tools and look for it in the list

  • Check the token has the abilities needed for what you're trying to do. A read-only token can't create, update or delete records

  • For Claude Desktop, make sure you've fully quit the app (not just closed the window), and that Node.js is installed


Organisations

Find an organisation

Ask the assistant to look up a client by name. It'll return a summary including the organisation ID, key contacts, open leads, and active projects, with a direct link to view it in Rofinery.

Example prompts:

  • "What do we know about Acme Ltd?"

  • "Find organisations with 'tech' in the name"

  • "Show me all contacts and open leads for Bright Future Co"

Get organisation details

Ask for full editable details on an organisation by ID or name. Returns core fields, tax rate, payment term, support period, markup, grade, contacts, addresses, default contact and address IDs, project managers, and a direct link.

Example prompts:

  • "Show me the full organisation details for Acme Ltd"

  • "What contact and address IDs are on organisation 12?"

  • "What payment term is set for Bright Future Co?"

Create an organisation

Ask the assistant to create a new organisation. You must provide the organisation name. You can optionally include notes, website, grade, tax rate ID, payment term, default support period, default markup, and an initial contact.

Example prompts:

  • "Create an organisation called Acme Ltd"

  • "Create Bright Future Co with website https://brightfuture.example"

  • "Create Acme Ltd with payment term ID 4 and default markup 20%"

  • "Create Acme Ltd with primary contact Alex Smith, alex@example.com"

Update an organisation

Ask the assistant to update an existing organisation by ID or name. You can change name, notes, website, grade, tax rate ID, payment term, default support period, default markup, default contact ID, or default address ID.

Example prompts:

  • "Update Acme Ltd website to https://acme.example"

  • "Set organisation 12 payment term to ID 4"

  • "Set Acme Ltd default contact to contact ID 33"

  • "Change Bright Future Co grade to A"

Add, edit, or delete organisation notes

Ask the assistant to add an internal note to an organisation, update an existing note by note ID, or delete a note. Notes are visible to team members on the organisation notes tab. New notes return the note ID so it can be used for later edits or deletion.

Example prompts:

  • "Add a note to Acme Ltd: prefers monthly status calls"

  • "Update organisation note 42 to: main contact changed to Alex"

  • "Delete organisation note 42 from Acme Ltd"


Pipeline and leads

View your pipeline

Ask for a list of leads, optionally filtered by status, assigned user, or client name. The assistant can focus on your own leads or give a broader team view. Each result includes a direct link to the lead in Rofinery.

Example prompts:

  • "What leads are assigned to me?"

  • "Show all leads in the contacted stage"

  • "What open leads do we have for Acme Ltd?"

  • "Which leads are over 100 days old?"

  • "Show me leads created in the last 14 days"

Get pipeline health

Ask for a high-level summary of the pipeline grouped by status, showing how many leads are in each stage.

Example prompts:

  • "Give me a pipeline summary"

  • "How many leads are in each stage?"

  • "What's the overall state of the pipeline?"

Note: Pipeline values are only shown to users with financials access.

Get lead details

Ask for full details on a lead by name or client. If multiple leads match, the assistant will return a list so you can clarify. Returns status, assigned user, upcoming reminders, recent activity, and a direct link to the lead.

Example prompts:

  • "Tell me about the Acme website lead"

  • "What reminders are set on the Bright Future lead?"

  • "What's the recent activity on the rebrand lead for Acme Ltd?"

Note: Lead values are only shown to users with financials access.

Create a lead

Ask the assistant to create a new lead in the CRM. You must provide an existing organisation - either by ID or by name. If providing a name, the assistant will search for a matching organisation (if no match is found, it'll return an error rather than creating a new organisation). Optionally link the lead to an existing project immediately. The lead is assigned to you by default and starts in "new" status unless you specify otherwise.

Example prompts:

  • "Create a lead called 'Website redesign' for Acme Ltd"

  • "Create a new lead 'Marketing automation' for Bright Solutions"

  • "Create a lead 'API integration' for Acme Ltd and link it to project P012"

  • "Create a high-quality lead 'CRM migration' for Tech Corp with description: interested in migrating from Salesforce"

Link a lead to a project

Ask the assistant to connect an existing lead to an existing project. This is useful when you created them separately or need to reassign a lead to a different project.

Example prompts:

  • "Link the Acme website lead to project P012"

  • "Connect the CRM migration lead to project P015"

  • "Associate the rebrand lead for Smith & Co with project P023"


Logging activity

Log an activity on a lead

Ask the assistant to record any interaction or update against a lead. Write the message exactly as you want it to appear - the activity will show in the lead's timeline and notes. If the lead name is ambiguous, the assistant will ask you to clarify. Messages are limited to 2,000 characters.

Example prompts:

  • "Log a call on the Acme website lead - we discussed timeline and they're ready to proceed"

  • "Record a meeting on the Bright Future proposal: agreed to send a revised version by Friday"

  • "Log an email on the rebrand lead for Smith & Co: sent follow-up after no response"

Add a note to a lead

Add internal commentary or context that doesn't relate to a specific interaction. Notes are limited to 2,000 characters.

Example prompts:

  • "Add a note to the Acme website lead: client mentioned they have budget approval in Q3"

  • "Note on the Smith & Co rebrand: internal review needed before we respond"

Set a reminder on a lead

Ask the assistant to set a reminder on a lead for a specific date and time. The reminder will appear in Rofinery and notify you at the chosen time. Reminder notes are limited to 500 characters.

Example prompts:

  • "Set a reminder on the Acme website lead for next Monday at 9am: chase for sign-off"

  • "Remind me about the Bright Future proposal on 2 June at 10am"

  • "Add a follow-up reminder on the Smith & Co rebrand for tomorrow morning"


Documentation

Search the wiki

Search your team's internal documentation by keyword. Returns matching articles with a short excerpt and a direct link to read the full article in Rofinery.

Example prompts:

  • "Find documentation about our onboarding process"

  • "Search the wiki for invoicing"

  • "Is there anything in the docs about our refund policy?"

Read a document

Ask the assistant to retrieve the full content of a specific article by name or ID.

Example prompts:

  • "Pull the full content of the onboarding document"

  • "Show me the invoicing policy article"

  • "Read the refund policy doc"

Comment on a document

Leave a comment on a documentation article by name. Comments are limited to 2,000 characters.

Example prompts:

  • "Add a comment to the onboarding document: this section needs updating after the new process change"

  • "Comment on the invoicing policy: confirm with finance whether the 30-day term still applies"


Projects

List projects

Ask for a list of projects, optionally filtered by status, project manager, or client. Each result includes the project number, status, manager, and a direct link.

Example prompts:

  • "Show me all active projects"

  • "What projects is Sarah managing?"

  • "List all projects for Acme Ltd"

Get project details

Ask for full details on a project by ID or project number. Returns the project description, status, manager, all proposals with their IDs and statuses, and a direct link. Use this to find proposal IDs before working with a specific proposal.

Example prompts:

  • "Show me the details for project P012"

  • "What proposals does the Acme website project have?"

  • "Which proposals are on project 24?"

Add, edit, or delete project notes

Ask the assistant to add an internal note to a project, update an existing note by note ID, or delete a note. Notes are visible to team members on the project notes tab. New notes return the note ID so it can be used for later edits or deletion.

Example prompts:

  • "Add a note to project P012: client wants the staging link before Friday"

  • "Update project note 31 to: launch moved to the following Monday"

  • "Delete project note 31 from project P012"

Review task changes

Ask the assistant to show which project tasks or proposal-linked tasks were created or updated during a date range. Results include task groups, changed subtasks, current status, assignees, due dates, planned hours, and links back to the task board. If a subtask is linked to a proposal line item, the assistant can include the proposal, deliverable, and line item context.

Example prompts:

  • "What tasks changed on project P012 last week?"

  • "Show me task changes for the Acme website project between 1 May and 15 May"

  • "Which tasks linked to proposal 18 were updated this month?"

  • "What new subtasks were added to project P023 in the last 14 days?"

Note: Task change history is based on created and updated timestamps. It shows what was created or updated in the period with current values, but it doesn't show field-by-field before and after values.


Rate cards

List rate cards

Ask the assistant to list the team's active rate cards. Optionally provide a client (organisation) to include any client-specific cards alongside the standard team rates. Returns the name, rate, unit (per hour or per day), and job title for each card.

Example prompts:

  • "What rate cards do we have?"

  • "List rate cards including any specific to Acme Ltd"

  • "What are the available day rates?"

Search suppliers

Ask the assistant to search for suppliers by name. Suppliers are used when adding expense line items to proposals (e.g. hosting providers, stock content libraries, third-party contractors). Returns the supplier ID, name, description, and contact details. Limited to 100 results.

Example prompts:

  • "Search suppliers for 'hosting'"

  • "Find suppliers matching 'AWS'"

  • "Look for a supplier called 'Adobe'"

  • "Search for stock photo suppliers"


Proposals

Get proposal details

Ask for the full content of a proposal, including all deliverables and line items. Each line item includes its client-facing description, internal notes, hours, rate, checklist items, and resource assignments. The proposal itself also includes its assumptions, exclusions, and risk register. Use this to review what's already in a proposal before making changes.

Example prompts:

  • "Show me the full breakdown of proposal 18"

  • "What deliverables are in the current Acme proposal?"

  • "List all line items in proposal 42 with hours"

  • "What assumptions are recorded on proposal 18?"

Note: Financial totals are only shown to users with project financials access.

Create a proposal

Ask the assistant to create a new blank proposal on a project. You must specify the pricing type. The proposal is created as a draft and is ready to have deliverables and line items added immediately. Valid types are: hour_based, fixed_fee, retainer, and capped_time_expense.

Example prompts:

  • "Create a fixed-fee proposal on project P012 called 'Website Redesign Phase 1'"

  • "Add a new hour-based proposal to the Acme rebrand project"

  • "Create a retainer proposal for project 7 called 'Ongoing Support'"

Create a proposal revision

Ask the assistant to create a linked revision of an existing proposal. The revision maintains version history - it supersedes the original, increments the revision number, and establishes a parent-child relationship. All content (deliverables, line items, hours, checklist items, adjustments, billing schedule, assumptions, exclusions, and risk register) is copied. The new revision starts as a draft.

Use this when iterating on a sent or approved proposal while keeping the version chain intact.

Example prompts:

  • "Create a revision of proposal 18"

  • "I need a v2 of the Acme website proposal"

Clone a proposal

Ask the assistant to create an independent copy of an existing proposal. The clone has no link to the original - it starts as a standalone proposal at revision 1. All content is copied but the copy is named with " (Copy)" appended. Use this when reusing a proposal structure for a different scope, client variation, or alternative approach.

Example prompts:

  • "Clone proposal 18 as an independent copy"

  • "Make a copy of the Acme website proposal"

  • "Duplicate proposal 42"

Update a proposal

Ask the assistant to update the name or introduction text of a draft proposal.

Example prompts:

  • "Rename proposal 18 to 'Website Redesign - Revised Scope'"

  • "Update the introduction on proposal 42 to summarise the new approach"

Add a deliverable

Ask the assistant to add a deliverable (a named section) to a proposal. Returns the deliverable ID, which can be used immediately to add line items beneath it. Can't add to an approved proposal.

Example prompts:

  • "Add a 'Discovery & Strategy' deliverable to proposal 18"

  • "Add a deliverable called 'Website Development' with description 'Full build of the new site' to proposal 42"

Update a deliverable

Ask the assistant to update the name or description of an existing deliverable.

Example prompts:

  • "Rename deliverable 14 to 'Discovery & Research'"

  • "Update the description on deliverable 7 to clarify scope"

Remove a deliverable

Ask the assistant to remove a deliverable from a proposal. This also removes all line items beneath it. Can't remove from an approved proposal.

Example prompts:

  • "Remove deliverable 14 from proposal 18"

  • "Delete the 'Discovery' section from the proposal"

Add a line item

Ask the assistant to add a line item to a deliverable. Line items can be either labour or expense items.

For labour items: include a client-facing description, an internal note, and optional hours with a resource name and rate. To use a team rate card, ask the assistant to list available rate cards first and then reference the card by ID when adding the item.

For expense items: provide the expense supplier, price, and optionally quantity and markup percentage. Use this for third-party costs like hosting, stock images, fonts, licenses, or subcontracted services.

Can't add to an approved proposal.

Example prompts:

  • "Add a line item 'Homepage design' to deliverable 7 with 16 hours for a Senior Designer at £95/hr"

  • "Add 'Backend API build' to deliverable 12 - 40 hours, use the Senior Developer rate card"

  • "Add a line item 'Stakeholder workshops' to deliverable 5 with an internal note: confirm number of attendees before quoting"

  • "Add an expense line item 'Stock photography' to deliverable 3 for £120 using supplier 5"

  • "Add hosting expense to deliverable 8 - supplier AWS, £500, quantity 12 (months)"

Update a line item

Ask the assistant to update any field on an existing line item.

For labour items: update name, description, internal notes, hours, rate (directly or via rate card), or markup percentage.

For expense items: update name, description, internal notes, supplier, price, quantity, or markup percentage.

Example prompts:

  • "Update line item 33 to 24 hours"

  • "Change the name of line item 33 to 'UI design - desktop and mobile'"

  • "Update the rate on line item 33 to use the Senior Designer rate card"

  • "Add an internal note to line item 33: pending sign-off on scope"

  • "Update expense line item 45 price to £250"

  • "Change supplier on line item 45 to supplier 8"

Remove a line item

Ask the assistant to remove a line item from a proposal. Can't remove from an approved proposal.

Example prompts:

  • "Remove line item 33 from the proposal"

  • "Delete the 'Backend API' line item"

Set checklist items on a line item

Ask the assistant to set the checklist items (acceptance criteria or task breakdown) for a line item. This replaces any existing checklist items. Pass an empty list to clear them.

Example prompts:

  • "Set the checklist for line item 33 to: wireframes approved, design handoff complete, dev review done"

  • "Clear the checklist on line item 33"

  • "Add acceptance criteria to line item 12: responsive at all breakpoints, passes accessibility audit, client sign-off received"

Set assumptions and exclusions

Ask the assistant to set the assumptions or exclusions on a proposal. Each is a list of plain-text statements. Providing a field replaces its existing content; omitting it leaves it unchanged. Pass an empty list to clear.

Example prompts:

  • "Set the assumptions on proposal 18 to: client provides all copy, third-party integrations are out of scope, timeline assumes no design revisions after sign-off"

  • "Clear the exclusions on proposal 42"

  • "Add assumptions to proposal 18: client will provide brand assets by week 2"

Set the risk register

Ask the assistant to set the risk register on a proposal. This replaces all existing risks. Each risk requires a title and likelihood/impact ratings of low, medium, or high. Pass an empty list to clear.

Example prompts:

  • "Set the risks on proposal 18: scope creep (likelihood high, impact high), third-party delays (likelihood medium, impact medium), key contact unavailable (likelihood low, impact high)"

  • "Clear the risk register on proposal 42"

  • "Add a risk to proposal 18: client-side delays to content delivery, likelihood medium, impact high"

Set proposal adjustments

Ask the assistant to set adjustments on a proposal (discount, markup, contingency). You can add multiple adjustments of the same type - for example, one markup for agency profit and another for contractor fees, or a contingency for project fallback plus a discount. Adjustments are matched by name - if an adjustment with the same name already exists, it'll be updated; otherwise a new one is created. Existing adjustments not mentioned are preserved. Adjustments can be percentages or fixed amounts and can apply to labour, expenses, or both. Pass an empty array to remove all adjustments.

Example prompts:

  • "Add a 15% agency markup to proposal 23" (preserves any existing contingency/discount)

  • "Set a 10% early payment discount on proposal 18, labour only"

  • "Add a 5% project contingency to proposal 42" (preserves existing markup/discount)

  • "Add two markups to proposal 42: 12% agency markup and 8% contractor markup"

  • "Update the agency markup on proposal 23 to 20%" (matches by name "agency markup")

  • "Clear all adjustments on proposal 18"

  • "Add a fixed £500 discount to proposal 18"

List deliverable templates

Ask the assistant to show available proposal templates or deliverable templates. Templates are reusable proposal structures that can be applied to add deliverables and line items quickly. Returns templates with their structure summary so you can present options.

Example prompts:

  • "What proposal templates are available?"

  • "Show me deliverable templates"

  • "List all templates"

  • "Find templates with 'website' in the name"

  • "What templates can I use for this proposal?"

Templates come in two types:

  • Proposal templates: contain multiple deliverable templates bundled together (e.g. "Full website build" might include discovery, design, development, and deployment deliverables)

  • Deliverable templates: standalone sections with line items (e.g. "SEO audit" or "Content migration")

Apply a deliverable template

Ask the assistant to apply a template to a proposal. This adds all the template's deliverables and line items to the end of the proposal. You can optionally specify a rate card to use for all labour items, otherwise the template's default rate cards will be used. Can't apply to approved proposals.

Example prompts:

  • "Apply template 5 to proposal 18"

  • "Add the 'Discovery & Strategy' template to this proposal"

  • "Apply template 12 to proposal 42 using the senior developer rate card"

  • "Add the website build template to proposal 18"

  • "Apply template 7 to this proposal and use rate card 3 for all labour"

After applying a template, the deliverables are added as regular proposal items. You can then update individual deliverables or line items using the standard update tools to align them with the specific requirements discussed.

Note: Approved proposals can't be modified. Create a revision first if changes are needed.


Time entry analysis

Analyse project time and identify undercharging

Ask the assistant to analyse time spent on a project, showing budget vs actual hours, overservicing metrics, and detailed time entries. Each entry includes the user name, title, task/subtask, hours, and date. Use this to identify where you're undercharging, spot excessive revisions, find meeting overhead, or see which team members are overservicing.

Example prompts:

  • "Analyse time spent on project P023 for the last month"

  • "Show me detailed time entries for the Acme website project from March"

  • "Are we overservicing project P015? Show me the entries"

  • "What time has Sarah logged to project P012 in April?"

  • "Show me all time entries for the rebrand project with client revisions"

The response includes budget hours, actual hours, overservicing percentage, monetary impact, and up to 100 detailed entries ordered by date (most recent first). Entry titles like "Client revision round 3" or "Design homepage" provide natural language context for pattern recognition.

Analyse user utilisation and time allocation

Ask the assistant to analyse how a specific user is spending their time, showing utilisation percentage vs target, and time allocation by project type (billable client work, admin, new business). Includes sample entries from each category to understand what they're working on. Use this to identify underperformance, excessive admin time, meeting overhead, or misaligned priorities.

Example prompts:

  • "How is Alex spending their time this month?"

  • "What's Sarah's utilisation for Q1? Is she meeting her target?"

  • "Show me where John's time is going - is he doing too much admin?"

  • "Analyse my time allocation for the last 30 days"

  • "Is the team spending too much time on new business?"

The response includes total hours, billable hours, utilisation vs target, and a breakdown by project type showing hours, percentage of total, and sample entries. Use this to diagnose performance issues or time allocation problems.

Search time entries to investigate patterns

Ask the assistant to search time entries with flexible filtering by date range, users, projects, project types, and keywords in titles/tasks. Returns detailed entries with full context. Use this to investigate patterns, find specific types of work (revisions, meetings, admin tasks), or drill down into time allocation issues.

Example prompts:

  • "Find all time entries with 'revision' in the title for the last quarter"

  • "Show me all admin time entries for Sarah in March"

  • "Search for meeting entries across all projects this month"

  • "Find time entries on new business projects for the sales team"

  • "Show me all time on project P023 tagged with feedback or revision"

The response includes up to 100 entries matching your filters, with summary stats showing total hours and billable hours. Entry details include user name, project, project type, title, task/subtask, hours, and date. Use pagination (offset parameter) to retrieve more results if needed.

Create a time entry

Ask the assistant to create a new time entry for a project. You can specify when the work started and ended, add a title describing the work, optionally link to tasks/subtasks, override billable hours, set a client-friendly description for invoices, and tag the entry. The entry is created for you (the authenticated user) on your current team.

Example prompts:

  • "Log 2 hours to project P023 for 'Homepage design' starting today at 9am"

  • "Add a time entry to the Acme rebrand project: 'Client feedback call' from 2pm to 3pm today"

  • "Create a time entry on project P015 for task 42 - 'Build contact form' - 3.5 hours yesterday"

  • "Log 1.5 hours to project P012 for 'Meeting with stakeholders' - mark as non-billable"

  • "Add time entry to project P007: 'Backend API development' from May 28 10am to May 28 4pm, bill 5 hours"

Use this to manually log time, backfill entries, or add work completed offline. The tool validates that tasks/subtasks belong to the correct project and ensures ended_at is after started_at.

Note: Time entry tools help diagnose business problems: undercharging (which projects overserviced), underperformance (utilisation vs target), admin overhead (time on admin tasks), meeting overhead (meeting patterns in titles), and new business ROI (BD investment).


Access and permissions

  • The AI assistant is available to teams with AI tools enabled

  • The Sanctum token used to connect your AI agent must be created with the abilities needed for the actions it'll perform. There are four abilities: read for viewing data, create for creating new records, update for changing existing records, and delete for removing records. If a tool is called with a token that lacks the required ability, the assistant will explain what's needed

  • Read tools (viewing leads, pipeline, organisations, documentation, projects, proposals, and rate cards) require the relevant view permissions for your role

  • Write tools (logging activities, adding notes, setting reminders, commenting on documents, creating or editing organisations, and creating or editing proposals) require the relevant create or edit permission

  • Delete tools require the token's delete ability as well as the relevant role permission

  • Creating, editing, or deleting organisation and project notes requires the relevant organisation or project edit permission

  • Removing deliverables and line items from proposals requires the delete proposals permission

  • Financial data (lead values, pipeline totals, and proposal financial totals) is only visible to users with financials access

  • All requests are rate-limited to 60 per minute per user

Other articles in Integrations