# Agility CMS

Agility CMS is a headless content management system that allows developers to build and manage digital experiences across various platforms.

- **Category:** website builders
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 9
- **Triggers:** 0
- **Slug:** `AGILITY_CMS`
- **Version:** 20260312_00

## Tools

### Get API Types

**Slug:** `AGILITY_CMS_GET_API_TYPES`

Tool to retrieve all enum types used throughout the Agility CMS Management API. Use when you need to understand available values for status codes, types, permissions, and other enumerated fields.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Content Item

**Slug:** `AGILITY_CMS_GET_CONTENT_ITEM`

Tool to fetch details of a content item by Content ID. Use when you need item fields and metadata from Agility CMS.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `guid` | string | No | The unique GUID identifier for your Agility CMS instance. If not provided, will be extracted from connection metadata. |
| `locale` | string | No | Locale code for the content (e.g., 'en-us'). |
| `apiType` | string ("fetch" | "preview") | No | API type: 'fetch' for published content, 'preview' for draft/staging content. Default is 'fetch'. |
| `content_id` | integer | Yes | Unique numeric ID of the content item. |
| `content_link_depth` | integer | No | Depth for expanding linked content (0=none to 5=full). Default is 1. |
| `expand_all_content_links` | boolean | No | Whether to fully expand linked content objects. Default is False. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Content List

**Slug:** `AGILITY_CMS_GET_CONTENT_LIST`

Retrieves a paginated list of content items by reference name from Agility CMS. Use this action to: - Fetch multiple content items of a specific type (e.g., blog posts, products, authors) - Retrieve content with pagination, filtering, and sorting capabilities - Expand linked content to specified depths Required parameters: instance GUID, API type (fetch/preview), locale code, and lowercase reference name. Tip: Use Get Content Models action first to discover available reference names for your instance.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `guid` | string | Yes | Your Agility CMS instance GUID (found in Settings > API Keys). Required. Example format: '4582b5fa-u' |
| `skip` | integer | No | Number of items to skip for pagination. Default is 0. |
| `sort` | string | No | Field name to sort results by (e.g., 'fields/date' or 'properties/modified'). Use with 'direction' parameter. |
| `take` | integer | No | Number of items to retrieve per page. Default is 10. |
| `fields` | string | No | Comma-separated list of specific fields to include in response (e.g., 'title,description'). If not specified, all fields are returned. |
| `filter` | string | No | OData-style filter expression to apply (e.g., 'fields/category eq "News"'). Leave empty to retrieve all items. |
| `locale` | string | Yes | Locale/language code for the content. Common examples: 'en-us' (US English), 'en-gb' (UK English), 'fr-fr' (French). |
| `apiType` | string | No | Content retrieval mode: 'fetch' (published content only, recommended for production) or 'preview' (includes unpublished/draft content for testing). |
| `direction` | string ("asc" | "desc") | No | Sort direction: 'asc' or 'desc'. |
| `referenceName` | string | Yes | Reference name of the content list to retrieve. MUST be lowercase. Use Get Content Models action to discover available reference names. Common examples: 'posts', 'authors', 'products', 'tags', 'categories'. |
| `contentLinkDepth` | integer | No | Depth to which linked content items should be expanded (0 to 5). |
| `expandAllContentLinks` | boolean | No | Whether to fully expand all linked content items. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Content Models

**Slug:** `AGILITY_CMS_GET_CONTENT_MODELS`

Tool to retrieve content models and page modules. Use when you need schema definitions to dynamically build content structures.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `guid` | string | No | The unique GUID identifier for your Agility CMS instance. If not provided, will attempt to extract from the configured base URL. |
| `apiType` | string ("fetch" | "preview") | No | API type: 'fetch' for published content models, 'preview' for draft/staging models. Default is 'fetch'. |
| `lastModifiedDate` | string | No | Optional. Return only models updated since this date/time. Format: ISO 8601 date-time, e.g., 2020-09-24T10:00:00.00-04:00. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Logs

**Slug:** `AGILITY_CMS_GET_LOGS`

Retrieve sync items (content change logs) from Agility CMS using the Content Sync API. This tool implements incremental content synchronization: - Use syncToken='0' for initial full sync (retrieves all content) - Use the returned syncToken in subsequent calls to get only new/updated content - Maximum pageSize is 500 items per request - Continue pagination until syncToken='0' is returned (indicating you're up to date) Typical workflow: 1. Call with syncToken='0' to get initial content batch 2. Store the returned syncToken 3. On next sync, pass the stored syncToken to get only changes since last sync 4. Repeat until syncToken='0' (no more updates)

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `guid` | string | No | The unique GUID identifier for your Agility CMS instance. If not provided, will attempt to extract from the configured base URL. |
| `locale` | string | No | Locale code for sync (e.g., 'en-us'). |
| `pageSize` | integer | No | Number of records per page. Overrides default if provided. |
| `syncToken` | string | Yes | Sync token indicating where to resume sync. Use '0' for full sync. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Page

**Slug:** `AGILITY_CMS_GET_PAGE`

Tool to retrieve details of a Page, including metadata, content zones, and components. Use after you know the page_id to fetch.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `locale` | string | No | Locale code for the page (e.g., 'en-us'). |
| `page_id` | integer | Yes | The unique numeric ID of the page to retrieve. |
| `content_link_depth` | integer | No | Depth for expanding linked content (0=none to 5=full). Default is 1. |
| `expand_all_content_links` | boolean | No | Whether to fully expand linked content items. Default is False. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Page Modules

**Slug:** `AGILITY_CMS_GET_PAGE_MODULES`

Retrieves page module definitions from Agility CMS. Page modules are UI components that can be added to pages. This action fetches all model definitions and filters to return only page modules (definitions without contentReferenceNames). Use this to understand what page modules are available for building pages. For content type definitions, use Get Content Models instead.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `guid` | string | No | The unique GUID identifier for your Agility CMS instance. If not provided, will attempt to extract from the configured base URL. |
| `locale` | string | No | Locale code for retrieving the models (e.g., 'en-us'). Required by the API. |
| `apiType` | string ("fetch" | "preview") | No | API type: 'fetch' for published page modules, 'preview' for draft/staging modules. Default is 'fetch'. |
| `lastModifiedDate` | string | No | Optional. Return only modules updated since this date/time. Format: ISO 8601 date-time, e.g., 2020-09-24T10:00:00.00-04:00. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Sitemap Flat

**Slug:** `AGILITY_CMS_GET_SITEMAP_FLAT`

Retrieves the flat sitemap for a specific channel and locale in Agility CMS. Returns a dictionary mapping page paths to sitemap items containing page metadata, SEO info, and routing details. Use this when you need to get all pages and their URLs for implementing page routing, generating sitemaps, or navigating the site structure. Required: instance GUID, API type (fetch/preview), locale code, and channel name.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `guid` | string | Yes | Your Agility CMS instance GUID (found in Settings > API Keys). Format example: '4582b5fa-u' |
| `locale` | string | Yes | Locale/language code for the content. Common examples: 'en-us' (US English), 'en-gb' (UK English), 'fr-fr' (French). |
| `apiType` | string | No | Content retrieval mode: 'fetch' (published content only, recommended for production) or 'preview' (includes unpublished/draft content for testing). |
| `channelName` | string | Yes | Reference name of the sitemap channel (configured in Settings > Sitemaps, typically lowercase). Common value: 'website'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Sync Pages

**Slug:** `AGILITY_CMS_SYNC_PAGES`

Retrieves all page items from Agility CMS in paged format with sync tokens for incremental updates. Use this to synchronize local page data with the CMS. Start with syncToken=0 for initial sync, then use the returned syncToken in subsequent calls to get only changed pages. Each response includes page metadata, SEO fields, visibility settings, and script configurations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `locale` | string | Yes | Locale code of the pages to retrieve (e.g., 'en-us'). |
| `pageSize` | integer | No | Number of items per request, default 500, max 500. |
| `syncToken` | integer | Yes | Sync token from the previous sync call; use 0 to start a fresh sync. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
