Agility cms

Learn how to use Agility cms with Composio

Overview

SLUG: AGILITY_CMS

Description

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

Authentication Details

generic_api_key
stringRequired

Connecting to Agility cms

Create an auth config

Use the dashboard to create an auth config for the Agility cms toolkit. This allows you to connect multiple Agility cms accounts to Composio for agents to use.

1

Select App

Navigate to the [Agility cms toolkit page](https://app.composio.dev/apps/Agility cms) and click “Setup Integration”.

2

Configure Auth Config Settings

Select among the supported auth schemes of and configure them here.

3

Create and Get auth config ID

Click “Create Integration”. After creation, copy the displayed ID starting with ac_. This is your auth config ID. This is not a sensitive ID — you can save it in environment variables or a database. This ID will be used to create connections to the toolkit for a given user.

Connect Your Account

Using API Key

1from composio import Composio
2from composio.types import auth_scheme
3
4# Replace these with your actual values
5agility_cms_auth_config_id = "ac_YOUR_AGILITY_CMS_CONFIG_ID" # Auth config ID created above
6user_id = "0000-0000-0000" # UUID from database/app
7
8composio = Composio()
9
10def authenticate_toolkit(user_id: str, auth_config_id: str):
11 # Replace this with a method to retrieve an API key from the user.
12 # Or supply your own.
13 user_api_key = input("[!] Enter API key")
14
15 connection_request = composio.connected_accounts.initiate(
16 user_id=user_id,
17 auth_config_id=auth_config_id,
18 config={"auth_scheme": "API_KEY", "val": user_api_key}
19 )
20
21 # API Key authentication is immediate - no redirect needed
22 print(f"Successfully connected Agility cms for user {user_id}")
23 print(f"Connection status: {connection_request.status}")
24
25 return connection_request.id
26
27
28connection_id = authenticate_toolkit(user_id, agility_cms_auth_config_id)
29
30# You can verify the connection using:
31connected_account = composio.connected_accounts.get(connection_id)
32print(f"Connected account: {connected_account}")

Tools

Executing tools

To prototype you can execute some tools to see the responses and working on the [Agility cms toolkit’s playground](https://app.composio.dev/app/Agility cms)

Python
1from composio import Composio
2from openai import OpenAI
3import json
4
5openai = OpenAI()
6composio = Composio()
7
8# User ID must be a valid UUID format
9user_id = "0000-0000-0000" # Replace with actual user UUID from your database
10
11tools = composio.tools.get(user_id=user_id, toolkits=["AGILITY_CMS"])
12
13print("[!] Tools:")
14print(json.dumps(tools))
15
16def invoke_llm(task = "What can you do?"):
17 completion = openai.chat.completions.create(
18 model="gpt-4o",
19 messages=[
20 {
21 "role": "user",
22 "content": task, # Your task here!
23 },
24 ],
25 tools=tools,
26 )
27
28 # Handle Result from tool call
29 result = composio.provider.handle_tool_calls(user_id=user_id, response=completion)
30 print(f"[!] Completion: {completion}")
31 print(f"[!] Tool call result: {result}")
32
33invoke_llm()

Tool List

Tool Name: Get Content Item

Description

Tool to fetch details of a content item by content id. use when you need item fields and metadata from agility cms.

Action Parameters

content_id
integerRequired
content_link_depth
integerDefaults to 1
expand_all_content_links
boolean
locale
stringDefaults to en-us

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Content List

Description

Tool to retrieve a list of content items by reference name. use when you need to fetch and page through content list data with optional filtering, sorting, and link expansions.

Action Parameters

contentLinkDepth
integerDefaults to 1
direction
stringDefaults to asc
expandAllContentLinks
boolean
fields
string
filter
string
locale
stringRequired
referenceName
stringRequired
skip
integer
sort
string
take
integerDefaults to 10

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Content Models

Description

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

Action Parameters

lastModifiedDate
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Page

Description

Tool to retrieve details of a page, including metadata, content zones, and components. use after you know the page id to fetch.

Action Parameters

content_link_depth
integerDefaults to 1
expand_all_content_links
boolean
locale
stringDefaults to en-us
page_id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Page Modules

Description

Tool to retrieve all page modules defined in the agility instance. use when you need only modular definitions without content models.

Action Parameters

lastModifiedDate
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Sync Content Items

Description

Tool to retrieve all content items in a paged format with sync tokens. use when you need to synchronize large volumes of content and maintain state across calls.

Action Parameters

locale
string
pageSize
integerDefaults to 500
syncToken
integer

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Sync Pages

Description

Tool to retrieve all page items in paged format with sync tokens. use when synchronizing local page data after receiving cms change notifications.

Action Parameters

locale
stringRequired
pageSize
integerDefaults to 500
syncToken
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Authors

Description

Tool to retrieve all authors from an agility cms instance. use when you need the full list of authors for display or processing.

Action Parameters

ContentLinkDepth
integerDefaults to 1
ExpandAllContentLinks
boolean
direction
stringDefaults to asc
fields
string
filter
string
locale
stringRequired
skip
integer
sort
string
take
integerDefaults to 10

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Categories

Description

Tool to get all categories. use when you need to list every category in a given locale.

Action Parameters

locale
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Logs

Description

Tool to retrieve sync items (logs) from agility cms. use after initial full sync to fetch updates.

Action Parameters

locale
string
pageSize
integer
syncToken
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Sitemap Flat

Description

Tool to retrieve the flat sitemap as a mapping of page paths to sitemap items. use when you need page routing logic after knowing locale and channel.

Action Parameters

channelName
stringRequired
locale
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Tags

Description

Tool to get all tags. use when you need to list every tag in a given locale.

Action Parameters

locale
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired