New260+ blocks and 240+ tools are now fully documented
DocumentationReferenceTool IntegrationsCRM & Sales
Tool

Agiloft

Create, read, update, delete, and query records in Agiloft Contract Lifecycle Management

Full Agiloft CLM integration for managing contracts and records — create, read, update, delete, and search across any table in your knowledge base. Ideal for automating contract lifecycle operations, syncing CLM data with other systems, and building AI-powered contract workflows.

Overview

PropertyValue
Typeagiloft
CategoryTool — CRM / Contract Lifecycle Management
AuthUsername + Password (session token exchange via Agiloft REST login endpoint)

Operations

OperationTool IDDescription
Create Recordagiloft_create_recordCreate a new record in an Agiloft table
Read Recordagiloft_read_recordFetch a single record by ID from an Agiloft table
Update Recordagiloft_update_recordModify field values on an existing record
Delete Recordagiloft_delete_recordPermanently delete a record by ID
Query Recordsagiloft_query_recordsSearch for records using Agiloft query syntax with optional pagination

Configuration

SettingTypeRequiredDescription
instanceUrlstringYesBase URL of your Agiloft instance, e.g. https://mycompany.agiloft.com. No trailing slash.
knowledgeBasestringYesName of the Agiloft knowledge base to operate against.
loginstringYesAgiloft username used to authenticate. Store this as a secret and reference it with {{AGILOFT_LOGIN}}.
passwordstringYesAgiloft password. Store this as a secret and reference it with {{AGILOFT_PASSWORD}}.
tablestringYesTable (object type) to operate on, e.g. Contract, contacts.employees. Supports dotted sub-table paths.
recordIdstringYes (Read / Update / Delete)ID of the record to read, update, or delete. Not used for Create or Query operations.
datastringYes (Create / Update)JSON object of field names and values to write, e.g. {"first_name": "Jane", "status": "Active"}. Must be valid JSON.
querystringYes (Query Records)Agiloft query expression to filter results, e.g. status='Active'.
fieldsstringNo (Read / Query)Comma-separated list of field names to include in the response. Omit to return all fields.
pagestringNo (Query Records)Zero-based page number for paginated results. Defaults to 0.
limitstringNo (Query Records)Maximum number of records to return per page. Defaults to 25.

Outputs

Create Record / Read Record / Update Record

FieldTypeDescription
idstringID of the created, read, or updated record.
fieldsjsonFull field values of the record as returned by Agiloft.

Delete Record

FieldTypeDescription
idstringID of the deleted record (echoed from the input).
deletedbooleantrue when the deletion succeeded; false on failure.

Query Records

FieldTypeDescription
recordsjsonArray of matching record objects, each containing field names and values.
totalCountnumberTotal number of records matching the query (may exceed the current page).
pagenumberCurrent page number (zero-based).
limitnumberNumber of records returned per page.

Example

[Starter] → [Agiloft: Query Records] → [Agent: Summarize contracts] → [Agiloft: Update Record]

Connect a scheduled Starter to an Agiloft Query Records block configured with table = Contract and query = status='Under Review' using credentials {{AGILOFT_LOGIN}} and {{AGILOFT_PASSWORD}}. Pass {{agiloft.records}} to an Agent that summarizes each contract and determines the next action. Feed the Agent's decision back into an Update Record block, setting recordId = {{starter.contractId}} and data = {"status": "Approved", "notes": "{{agent.content}}"} to write the result back to Agiloft.

Tips

  • Credentials are exchanged for a session token on each call. The integration logs in, performs the operation, and logs out automatically. Store login and password as workspace secrets and reference them as {{AGILOFT_LOGIN}} and {{AGILOFT_PASSWORD}} to keep them out of your workflow definition.
  • Table names are case-sensitive and must match the object type name in your Agiloft knowledge base exactly. Sub-tables use dotted notation, e.g. contacts.employees.
  • data must be valid JSON. For Create and Update operations the block will return an error (Invalid JSON in data parameter) if the string cannot be parsed. Use a JSON object literal or reference structured output from an upstream block with {{agent.content}}.
  • Use fields to limit response size. When reading or querying large records, pass a comma-separated list to fields (e.g. id,status,contract_value) instead of fetching the full object, which can be large.
  • Paginate large query result sets. The default page size is 25. For bulk operations, loop over pages by incrementing page starting from 0 until records returns fewer items than limit.
  • Query syntax follows Agiloft's EWSEARCH expression language. Simple equality looks like status='Active'; use AND/OR to combine conditions, e.g. status='Active' AND contract_type='MSA'.