Skip to content

Available MCP Work tools

This page provides a more detailed reference for the tools available through Autologyx MCP Work.

MCP Work tools allow approved AI assistants and agents to interact with live Autologyx work. The tools are focused on operational activity, such as finding records, reading and updating record data, creating tasks, assigning work, and generating documents from configured templates.

MCP Work does not expose Autologyx configuration tools. It is not intended to create Object Classes, build forms, configure Sequences, manage roles, or change administration settings. Configuration and administration remain controlled through the normal Autologyx configuration experience.

How to read this page

Each tool is described using the same general structure:

SectionMeaning
PurposeWhat the tool is used for
Typical useWhen an agent might use the tool
Required inputsInputs the tool needs before it can run
Optional inputsInputs that refine the request
Important requirementsConstraints, dependencies, or safe-use notes
Typical outputThe kind of result the agent should expect

The exact response body may vary by environment, permissions, Object Class configuration, Task Template configuration, and product version.

Common concepts

Tool permissions

Agents can only use the MCP Work tools they have been granted. Tool access should be combined with the normal Autologyx role-based access model so that an agent can only see and do what is appropriate for the user, service account, process, or use case.

Object Class and Object Record IDs

Many record tools require an Object Class ID, an Object Record ID, or both.

An agent will often need to search for an Object Class first, then inspect its fields, then search or update records within that class.

Field aliases

When creating or updating Object Records, field values are passed using field aliases.

For create and update tools, the alias is normally the field slug value without the field_ prefix. For example, use first_name, not field_first_name.

For search filters and show_fields, custom Object Class fields normally use the field_ prefix. For example, use field_first_name.

Filters

Search tools support filters. A filter contains a field name and a value. Some filters can use lookup suffixes such as __icontains, __in, __gt, __gte, __lt, __lte, __range, __containsall, or __containssome, depending on the field type.

For example:

json
{
  "filters": [
    {
      "name": "field_status",
      "value": "Open"
    },
    {
      "name": "field_client_name__icontains",
      "value": "example"
    }
  ]
}

Pagination and ordering

Many search tools support limit, offset, and ordering.

Use these where an agent may retrieve many results. This helps avoid overly broad requests and makes tool use easier to review.

Write actions

Tools that create, update, assign, unassign, save, generate, download, or remove relationships should be treated as write or action tools.

Give agents access to write tools only where the use case requires it. Use human review gates where the action is sensitive, high impact, externally visible, or difficult to reverse.

Record tool endpoints

Record tools allow agents to inspect the data model, find and work with Object Records, manage record relationships, and use document automation.

check_object_records_hierarchy_creation

Checks the status of an asynchronous Object Record hierarchy creation process.

Purpose

Use this tool after create_object_records_hierarchy to confirm whether the hierarchy creation has completed.

Typical use

An agent starts a hierarchy creation request and then checks the transaction status before telling the user the matter structure has been created.

Required inputs

InputTypeNotes
idstringTransaction ID returned by create_object_records_hierarchy

Important requirements

Only use this tool for transactions initiated by create_object_records_hierarchy.

Interpret the returned status carefully:

StatusMeaning
queuedThe operation has not completed yet
processingThe operation is still running
completedThe hierarchy was created successfully
failedThe hierarchy creation failed

If the status is queued or processing, the agent should check again later. The user should not be told that the hierarchy has been created until the status is completed.

Typical output

A transaction status object.

create_object_record

Creates a new Object Record.

Purpose

Use this tool when an agent needs to create a new record in an existing Object Class.

Typical use

An agent creates a new legal request record from information provided by a user in a co-pilot conversation.

Required inputs

InputTypeNotes
object_classintegerObject Class ID for the new record

Optional inputs

InputTypeNotes
fieldsarrayField values to set on creation

Each item in fields contains:

KeyTypeNotes
aliasstringField alias without the field_ prefix
valuestringField value. For set fields, pass a JSON-encoded array

Example body

json
{
  "object_class": 12,
  "fields": [
    {
      "alias": "client_name",
      "value": "Example Client"
    },
    {
      "alias": "request_type",
      "value": "Contract review"
    }
  ]
}

Important requirements

The agent must know the correct Object Class and field aliases. Use list_object_class_fields first where needed.

This is a write action. Use appropriate permissions and review patterns.

Typical output

The created Object Record or a confirmation of the created record.

create_object_records_hierarchy

Creates a parent Object Record and nested child Object Records as an asynchronous operation.

Purpose

Use this tool when an agent needs to create a structured record hierarchy in one operation.

Typical use

An agent creates a new matter with related child records for parties, documents, and initial work items.

Required inputs

InputTypeNotes
object_classintegerObject Class ID for the parent record

Optional inputs

InputTypeNotes
fieldsarrayField values for the parent record
childrenarrayNested child records. Children can contain their own children arrays

Important requirements

Before using this tool, the agent must discover allowed child classes with list_object_class_children. This should be repeated recursively for each child class level the agent intends to create.

This tool initiates an asynchronous process. It does not mean the hierarchy has been created immediately.

After starting the operation, the agent must use the transaction ID returned by this tool and call check_object_records_hierarchy_creation until the status is completed or failed.

This is a write action and can create multiple records. Some co-pilot style agents may ask the user for confirmation before running a bulk or multi-record operation.

Typical output

A transaction object with an ID and status, such as queued.

download_object_record_document

Downloads a generated Object Record document payload and metadata.

Purpose

Use this tool when an agent needs to retrieve the generated document file after confirming that it is available.

Typical use

An agent retrieves a generated document so it can be reviewed, summarised, or provided to a user where permitted.

Required inputs

InputTypeNotes
object_recordintegerObject Record ID
document_templateintegerDocument Template ID
uuidstringDocument UUID extracted from get_object_record_document metadata

Important requirements

Call get_object_record_document first and extract the UUID from the document URL.

The response contains metadata and base64-encoded file content, not a plain binary file.

This tool may expose document content, so permissions and audit are important.

Typical output

A JSON object containing file metadata and base64-encoded content.

generate_object_record_document

Starts document generation for an Object Record and Document Template.

Purpose

Use this tool when an agent needs to generate a document using an existing Autologyx document template.

Typical use

An agent generates a first draft engagement letter using data from a matter record.

Required inputs

InputTypeNotes
object_recordintegerObject Record ID
document_templateintegerDocument Template ID

Optional inputs

InputTypeNotes
object_record_fieldstringField where the generated document should be added. Prefix the alias with field_

Important requirements

This starts the generation process. The generated document may not be immediately ready.

Use get_object_record_document to check status and retrieve metadata.

This is an action tool and may create or attach a document. Use human review where the document will be externally visible or legally significant.

Typical output

A generation response or reference that can be followed using document status tools.

get_document_template

Retrieves details for a single Document Template.

Purpose

Use this tool when an agent needs to inspect a known template before document generation.

Typical use

An agent checks a document template before generating a draft document from record data.

Required inputs

InputTypeNotes
object_classintegerObject Class ID
pkstringDocument Template ID

Important requirements

Use this where the agent needs to confirm template details before calling generate_object_record_document.

Typical output

Details of the Document Template visible to the agent.

get_object_class

Retrieves details for a single Object Class.

Purpose

Use this tool when an agent already has an Object Class ID and needs to inspect the class before working with its records.

Typical use

An agent retrieves details for a matter Object Class before explaining what type of records it contains.

Required inputs

InputTypeNotes
pkstringObject Class ID

Important requirements

The Object Class must exist and be visible to the agent.

Typical output

Details of the Object Class, including identifiers, metadata, and available permissions.

get_object_record

Retrieves details for a single Object Record.

Purpose

Use this tool when an agent needs to inspect a known record before taking action or answering a question.

Typical use

An agent reviews the current details of an intake record before suggesting next steps or creating a follow-up task.

Required inputs

InputTypeNotes
pkstringObject Record ID

Important requirements

The record must exist and be visible to the agent.

Use this tool before update actions where the current record state matters.

Typical output

The Object Record details visible to the agent.

get_object_record_document

Retrieves metadata, status, and download information for a generated Object Record document.

Purpose

Use this tool to check whether document generation is still processing, completed, or failed.

Typical use

An agent checks whether a document generated from a template is ready to download or review.

Required inputs

InputTypeNotes
object_recordintegerObject Record ID
document_templateintegerDocument Template ID

Important requirements

If the document is completed and a file download is needed, the agent must extract the document UUID from the document URL returned in the metadata and then call download_object_record_document.

Do not guess the UUID.

Typical output

Document metadata, processing status, error details if generation failed, and a document URL where available.

list_object_class_children

Retrieves direct child Object Classes for a parent Object Class.

Purpose

Use this tool when an agent needs to understand which child record types can sit under a parent record type.

Typical use

An agent checks which child Object Classes can be created under a matter before preparing a matter hierarchy.

Required inputs

InputTypeNotes
object_classintegerParent Object Class ID

Important requirements

This tool is required before using create_object_records_hierarchy to create child records. If the hierarchy has multiple levels, the agent should check allowed child classes at each level.

Typical output

A list of direct child Object Classes related to the parent Object Class.

list_object_class_fields

Retrieves valid fields and aliases for a specific Object Class.

Purpose

Use this tool before creating, updating, or filtering Object Records where the agent needs to know which field aliases are valid.

Typical use

An agent checks the field aliases for an intake record before updating priority, client_name, or matter_type.

Required inputs

InputTypeNotes
object_classintegerObject Class ID

Optional inputs

InputTypeNotes
limitintegerMaximum number of fields to return
offsetintegerNumber of fields to skip

Important requirements

Use this tool before passing field aliases into create_object_record or update_object_record where the agent is not already certain of the schema.

Typical output

A list of fields for the Object Class, including aliases and field metadata.

list_object_class_parents

Retrieves direct parent Object Classes for a child Object Class.

Purpose

Use this tool when an agent needs to understand where a child record type can sit in the data model.

Typical use

An agent checks which parent record types can contain a document review record.

Required inputs

InputTypeNotes
object_classintegerChild Object Class ID

Important requirements

This is a relationship discovery tool. It does not create or remove any relationship.

Typical output

A list of direct parent Object Classes related to the child Object Class.

remove_object_record_child

Removes the relationship between a parent Object Record and a child Object Record.

Purpose

Use this tool when an agent needs to disconnect a child record from a parent record.

Typical use

An agent removes a child record that was linked to the wrong parent, after user confirmation.

Required inputs

InputTypeNotes
object_record_parentintegerParent Object Record ID
object_record_childintegerChild Object Record ID

Important requirements

This is a write action that changes record relationships.

Use this tool carefully. The agent should normally confirm the intended parent and child records before removing a relationship.

Typical output

A success status or confirmation that the relationship has been removed.

search_document_templates

Searches Document Templates for a specific Object Class.

Purpose

Use this tool when an agent needs to find a document template before generating a document.

Typical use

An agent searches for the correct engagement letter template for a matter type.

Required inputs

InputTypeNotes
object_classintegerObject Class ID

Optional inputs

InputTypeNotes
limitintegerMaximum number of results to return
offsetintegerNumber of results to skip
orderingstringSort field, with - for descending order
filtersarrayFilter objects with name and value

Important requirements

The agent must have permission to see the relevant templates.

This tool only searches templates. It does not generate a document.

Typical output

A paginated list of matching Document Templates.

search_object_classes

Searches Object Classes matching the supplied criteria.

Purpose

Use this tool when an agent needs to discover which Object Classes are available before searching for records or explaining a data model.

Typical use

An agent is asked to find open legal intake records. It first searches Object Classes to identify the correct intake Object Class.

Required inputs

This tool can be called without a body. Filters are optional.

Optional inputs

InputTypeNotes
limitintegerMaximum number of results to return
offsetintegerNumber of results to skip
orderingstringSort field, with - for descending order
filtersarrayFilter objects with name and value

Important requirements

The agent must have permission to list Object Classes.

This is a discovery tool. It does not create or change configuration.

Typical output

A paginated list of Object Classes visible to the agent.

search_object_record_children

Finds child records linked to a specific parent Object Record.

Purpose

Use this tool when an agent needs to navigate downward from a parent record to related child records.

Typical use

An agent lists all document review records under a matter.

Required inputs

InputTypeNotes
object_recordintegerParent Object Record ID

Optional inputs

InputTypeNotes
child_object_classintegerRestrict results to a specific child Object Class
limitintegerMaximum number of results to return
offsetintegerNumber of results to skip

Important requirements

Use child_object_class where possible to avoid returning unrelated child records.

Typical output

A paginated list of direct child Object Records.

search_object_record_documents

Searches documents linked to an Object Record.

Purpose

Use this tool when an agent needs to find documents associated with a record.

Typical use

An agent lists documents already generated or attached to a matter before generating a new one.

Required inputs

InputTypeNotes
object_recordintegerObject Record ID

Optional inputs

InputTypeNotes
limitintegerMaximum number of results to return
offsetintegerNumber of results to skip
orderingstringSort field, with - for descending order
filtersarrayFilter objects with name and value

Important requirements

Search results depend on the agent’s permissions and the documents associated with the record.

Typical output

A paginated list of documents linked to the Object Record.

search_object_record_parents

Finds parent records linked to a specific child Object Record.

Purpose

Use this tool when an agent needs to navigate upward from a child record to its parent records.

Typical use

An agent identifies the matter or client record associated with a document review record.

Required inputs

InputTypeNotes
object_recordintegerChild Object Record ID

Optional inputs

InputTypeNotes
limitintegerMaximum number of results to return
offsetintegerNumber of results to skip

Important requirements

The returned parents depend on the relationships visible to the agent.

Typical output

A paginated list of direct parent Object Records.

search_object_records

Searches Object Records matching the supplied criteria.

Purpose

Use this tool when an agent needs to find records within a specific Object Class.

Typical use

An agent finds all open onboarding records assigned to a team, or all matters for a particular client.

Required inputs

InputTypeNotes
object_classintegerObject Class ID to search within

Optional inputs

InputTypeNotes
limitintegerMaximum number of results to return
offsetintegerNumber of results to skip
orderingstringSort field, with - for descending order
filtersarrayFilter objects with name and value
show_fieldsarrayField aliases to include in the response, normally prefixed with field_

Important requirements

Search as narrowly as possible. Use filters and show_fields to avoid returning more data than the agent needs.

Custom Object Class fields in filters normally require the field_ prefix.

Typical output

A paginated list of matching Object Records.

update_object_record

Updates fields on an existing Object Record.

Purpose

Use this tool when an agent needs to update structured data on a known record.

Typical use

An agent updates an intake record with a classification, priority, missing-information flag, or reviewer recommendation.

Required inputs

InputTypeNotes
pkstringObject Record ID

Optional inputs

InputTypeNotes
fieldsarrayField values to update

Each item in fields contains:

KeyTypeNotes
aliasstringField alias without the field_ prefix
valuestringField value. For set fields, pass a JSON-encoded array

Example body

json
{
  "fields": [
    {
      "alias": "triage_status",
      "value": "Needs review"
    }
  ]
}

Important requirements

This is a write action. The agent should usually retrieve the record first and update only the fields required for the task.

Use human review where the update affects important decisions, record status, or external communications.

Typical output

The updated Object Record or a confirmation of the update.

Task tool endpoints

Task tools allow agents to find, create, read, update, assign, unassign, and manage Tasks.

assign_task_to_user_groups

Assigns a Task to one or more user groups.

Purpose

Use this tool when an agent needs to assign a task to a team or group rather than a named user.

Typical use

An agent assigns a new intake task to the legal operations user group.

Required inputs

InputTypeNotes
taskintegerTask ID
user_groupsarrayArray of user group IDs

Important requirements

This is a write action that changes task assignment.

Use group assignment where work should be picked up by a team queue rather than a specific individual.

Typical output

Confirmation that the task assignment has been updated.

assign_task_to_users

Assigns a Task to one or more users.

Purpose

Use this tool when an agent needs to assign a task to named users.

Typical use

An agent assigns a review task to the responsible lawyer.

Required inputs

InputTypeNotes
taskintegerTask ID
usersarrayArray of user IDs

Important requirements

This is a write action that changes task assignment.

The agent should normally confirm the intended assignee before assigning important work.

Typical output

Confirmation that the task assignment has been updated.

create_automatic_task

Creates a new Automatic Task against an Object Record from a Task Template.

Purpose

Use this tool where a configured automatic task should be created as part of a repeatable process.

Typical use

An agent starts a configured task based on an existing Task Template after a record reaches a certain condition.

Required inputs

InputTypeNotes
object_recordintegerObject Record ID
task_templateintegerTask Template ID

Important requirements

The selected Task Template determines the task behaviour. Use search_task_templates and get_task_template where the agent needs to identify or confirm the correct template.

This is a write action.

Typical output

The created Task or confirmation that the Task has been created.

create_manual_task

Creates a new Manual Task against an Object Record.

Purpose

Use this tool when an agent needs to create a human-facing task with a name, instructions, and optional due date.

Typical use

An agent creates a review task for a lawyer after identifying a contract that needs human approval.

Required inputs

InputTypeNotes
object_recordintegerObject Record ID
task_templateintegerTask Template ID
namestringTask name, maximum 100 characters

Optional inputs

InputTypeNotes
instructionsstringTask instructions, maximum 5000 characters
due_datestringDue date in ISO-8601 date format

Example body

json
{
  "object_record": 1001,
  "task_template": 25,
  "name": "Review supplier contract",
  "instructions": "Please review the non-standard liability provisions and confirm whether escalation is required.",
  "due_date": "2026-07-31"
}

Important requirements

This is a write action that creates work for a user or team.

The agent should use the correct Task Template and provide clear instructions.

Typical output

The created Task or confirmation that the Task has been created.

get_task

Retrieves current details, configuration, schema, and response data for a Task.

Purpose

Use this tool when an agent needs to inspect a task before saving or updating task data.

Typical use

An agent reviews the schema of a task form before saving a partial response.

Required inputs

InputTypeNotes
pkstringTask ID

Important requirements

Use this tool before save_task.

The response contains important sections:

SectionMeaning
configuration.plugin_config.configuration.data_schemaDefines allowed keys and value types for task data
responseContains current task response values

Typical output

Task details, form schema, current response data, and configuration information.

get_task_template

Retrieves details for a single Task Template.

Purpose

Use this tool when an agent needs to inspect a known Task Template before creating a task.

Typical use

An agent checks the review task template before creating a manual task for a lawyer.

Required inputs

InputTypeNotes
pkstringTask Template ID

Important requirements

The Task Template must exist and be visible to the agent.

Typical output

Details of the Task Template.

save_task

Saves or updates Task data while keeping the Task outstanding.

Purpose

Use this tool when an agent needs to store task form data without completing the task.

Typical use

An agent fills in part of a review task based on extracted information, leaving the task outstanding for a lawyer to check.

Required inputs

InputTypeNotes
taskintegerTask ID
dataobjectFlat, single-level dictionary containing task data

Important requirements

The agent must call get_task first for the specific task ID.

The agent must inspect the task schema at configuration.plugin_config.configuration.data_schema to identify allowed keys and value types.

The agent must preserve existing data from response unless the user has explicitly asked to overwrite a specific field.

The submitted data object should be a complete merged dictionary, not just the changed fields.

Example pattern

  1. Call get_task.
  2. Read the schema.
  3. Read the existing response data.
  4. Modify only the requested values.
  5. Submit the complete merged data object to save_task.

Important note

This tool saves task data. It does not complete the task.

Typical output

The updated task data or confirmation that the task has been saved.

search_task_templates

Searches Task Templates matching the supplied criteria.

Purpose

Use this tool when an agent needs to find the right Task Template before creating a task.

Typical use

An agent searches for a legal review task template before creating a review task on a matter.

Required inputs

This tool can be called without a body. Filters are optional.

Optional inputs

InputTypeNotes
limitintegerMaximum number of results to return
offsetintegerNumber of results to skip
orderingstringSort field, with - for descending order
filtersarrayFilter objects with name and value

Important requirements

This is a discovery tool. It does not create a task.

Typical output

A paginated list of Task Templates visible to the agent.

search_tasks

Searches Tasks matching the supplied criteria.

Purpose

Use this tool when an agent needs to find tasks by status, assignee, date, or other available filters.

Typical use

An agent finds overdue tasks assigned to a legal operations team.

Required inputs

This tool can be called without a body. Filters are optional.

Optional inputs

InputTypeNotes
limitintegerMaximum number of results to return
offsetintegerNumber of results to skip
orderingstringSort field, with - for descending order
filtersarrayFilter objects with name and value

Current assignee filters

The current_assignees field has a custom structure with users and user_groups sets.

Examples:

json
{
  "filters": [
    {
      "name": "current_assignees__users__containssome",
      "value": "2,3"
    }
  ]
}
json
{
  "filters": [
    {
      "name": "current_assignees__user_groups__containsall",
      "value": "5"
    }
  ]
}

Important requirements

Use filters to avoid broad task searches. Assignment, due date, status, and process-specific filters should be used where available.

Typical output

A paginated list of Tasks visible to the agent.

unassign_task_from_user_groups

Removes one or more user group assignments from a Task.

Purpose

Use this tool when an agent needs to remove group assignment from a task.

Typical use

An agent removes the legal operations group from a task after assigning the task to a specific lawyer.

Required inputs

InputTypeNotes
taskintegerTask ID
user_groupsarrayArray of user group IDs

Important requirements

This is a write action that changes task assignment.

The agent should verify that the correct task and groups have been identified before unassigning.

Typical output

Confirmation that the user groups have been unassigned.

unassign_task_from_users

Removes one or more user assignments from a Task.

Purpose

Use this tool when an agent needs to remove named users from a task assignment.

Typical use

An agent removes a user assignment after the task has been reassigned to a different lawyer or team.

Required inputs

InputTypeNotes
taskintegerTask ID
usersarrayArray of user IDs

Important requirements

This is a write action that changes task assignment.

The agent should verify that the correct task and users have been identified before unassigning.

Typical output

Confirmation that the users have been unassigned.

Tool chaining examples

A typical agent flow might be:

  1. Use search_object_records to find the relevant matter or intake record.
  2. Use get_object_record to review the record.
  3. Use search_task_templates to find the legal review Task Template.
  4. Use create_manual_task to create the review task.
  5. Use assign_task_to_users or assign_task_to_user_groups to assign the task.

Generate and retrieve a document

A typical agent flow might be:

  1. Use get_object_record to review the record.
  2. Use search_document_templates to find the appropriate template.
  3. Use get_document_template to confirm the template.
  4. Use generate_object_record_document to start document generation.
  5. Use get_object_record_document to check generation status.
  6. Use download_object_record_document if the completed file needs to be retrieved.

Create a record hierarchy

A typical agent flow might be:

  1. Use list_object_class_children to discover allowed child classes.
  2. Repeat child-class discovery for nested levels where needed.
  3. Use create_object_records_hierarchy to start hierarchy creation.
  4. Use check_object_records_hierarchy_creation until the transaction is completed or failed.

Designing safe tool access

MCP Work tools can perform real actions. Access should be designed around the intended use case.

For each agent, decide:

  • which tools the agent can use
  • which Object Classes it can access
  • whether it can read only or also write
  • whether it can create records
  • whether it can create or assign tasks
  • whether it can generate or download documents
  • whether relationship changes are permitted
  • which actions need user confirmation
  • which actions need human review after completion

Start with the smallest toolset that solves the problem. Add additional tools only where there is a clear operational need.

Important reminder about agentic tool use

Important reminder

MCP Work tools can allow an agent to perform real actions in Autologyx.

Even where permissions, tool descriptions, prompts, and workflows have been carefully designed, an agent may misunderstand a request, select the wrong record, choose the wrong tool, or submit unexpected data.

Permissions, audit logging, validation, deterministic checks, user confirmations, and human review can reduce risk, but they cannot remove it entirely.

Use human review where an action affects important decisions, external communications, sensitive data, record updates, document generation, task assignment, or task completion.