Integration details
Description
CI HUB helps users search and browse connected DAMs, storage providers, images services. Inspect and download files and brand kits, upload and organize assets and folders.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Primary Subcategory
- Digital Asset & Media Management
- Secondary Subcategories
- None listed
- Brand
- CI HUB
- Access
- Account required
- First tracked
- 2026-07-06
- Tool count
- 25
- Geography
- US
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
Get alerts for CI HUB
Get updates when CI HUB’s Discoverability Score or category rank changes.
ChatGPT Plugin Discovery Score
ChatGPT Plugin discovery is coming soon
ChatGPT can surface a Plugin when it matches a user's request.Your Plugin Discovery Score measures how often yours appears.
No spam. Unsubscribe any time.
What discovery looks like

Competing in ChatGPT Digital Asset & Media Management
View Category25 tools agents can invoke
Create up to 10 folders in a single call, all under the same parent. Provide an array of folder names (folderNames), the parent folder's ID (parentId), and its display name (parentFolderName). Valid parentIds can be ONLY retrieved by: Browse-Folders, Create-Folder, Rename-Folder.
Batch-Create-Folder
Permanently delete up to 10 assets in a single call. Each item requires both the asset's ID (assetId) and display name (assetName). This action is irreversible — confirm with the user before proceeding. Valid assetIds can be ONLY retrieved by: Search-Asset, Browse-Folders, Get-Brand-Config, Rename-Asset.
Batch-Delete-Asset
Permanently delete up to 10 folders in a single call. Each item requires both the folder's ID (folderId) and display name (folderName). This action is irreversible — confirm with the user before proceeding. Valid folderIds can be ONLY retrieved by: Browse-Folders, Create-Folder, Rename-Folder.
Batch-Delete-Folder
**IMPORTANT: Use this tool for multiple assets instead of calling Get-Asset-Metadata multiple times.** Load up to 10 assets' metadata and links (thumbnailUrl, providerDownloadUrl, capabilities, optional EXIF/IPTC/custom fields) by CI-HUB asset id per row. Does not return file bytes — use Batch-Get-Asset-Download-URL with providerDownloadUrl from successful rows when you need fetchable URLs. Each row succeeds or fails independently. Valid assetIds can be ONLY retrieved by: Search-Asset, Browse-Folders, Browse-Folders-Silent, Get-Brand-Config, Rename-Asset.
Batch-Get-Asset-Metadata
**IMPORTANT: Use this tool for multiple assets instead of calling Get-Asset-Download-URL multiple times.** Exchange up to 10 provider-specific download URLs per call. Returns temporary CI HUB download URLs (20 minutes each) as compact JSON per row. resolvedDownloadUrl is single-use and expires in 20 minutes — fetch immediately once in sandbox; do not re-fetch the same URL later. PPTX, sandbox HTML/website, or local asset preview: do not fetch thumbnailUrl or previewUrl — curl each resolvedDownloadUrl once in sandbox, build from local paths; never inline file bytes in chat. Same eligibility as Get-Asset-Download-URL per row; optional assetId per row is echoed. Each row succeeds or fails independently. Valid downloadUrls can be ONLY retrieved by: widget selection context (selectedAssets), Browse-Folders, Browse-Folders-Silent, Search-Asset, Get-Brand-Config, Get-Asset-Metadata.
Batch-Get-Asset-Download-URL
Rename up to 10 assets in a single call. Each item requires the asset's ID (assetId), current name (oldAssetName), and new name (newAssetName). New names must include the file extension (e.g., before.jpg → after.jpg). Valid assetIds can be ONLY retrieved by: Search-Asset, Browse-Folders, Get-Brand-Config, Rename-Asset.
Batch-Rename-Asset
Rename up to 10 folders in a single call. Each item requires the folder's ID (folderId), current name (oldFolderName), and new name (newFolderName). Valid folderIds can be ONLY retrieved by: Browse-Folders, Create-Folder, Rename-Folder.
Batch-Rename-Folder
Upload up to 10 assets in a single call. Each item requires a URL; optionally provide a filename (optionalName) — if omitted, inferred from the URL. Uploading the same asset multiple times requires distinct names to avoid overwrites. Requires the destination folder's ID (parentId) and display name (parentFolderName). From CI HUB context, each url must be resolvedDownloadUrl from Get-Asset-Download-URL or Batch-Get-Asset-Download-URL — never providerDownloadUrl. Valid parentIds can be ONLY retrieved by: Browse-Folders, Create-Folder, Rename-Folder.
Batch-Upload-Asset-By-URL
Identical to Browse-Folders but does NOT render the folder-browse widget — only returns folder/asset JSON for the model to read. Like Browse-Folders, this tool only accepts a folderId; there is NO way to look up a folder by name. Responses include totalItems in the JSON body (mirroring totalAssetsCount) for the folder; totalFiles is max(0, totalItems - folders.length) when present — see Browse-Folders for meaning. Plus pageSizeApplied and optional pageSizeRequested for the paging parameters this server sent; use the returned assets array length for how many assets are in this page. Pagination uses only more as a continuation token — repeat the same pageSize on every request including follow-ups with more (same CI HUB PaginationParameters behavior as Browse-Folders). Use it to walk the folder tree and discover folderIds: start from root by omitting folderId, then for each path segment find the matching entry in the response's folders array by name and recurse using that entry's id. Use Browse-Folders-Silent for every intermediate hop (e.g. resolving a path like root → "All Files" → "Colors": call Browse-Folders-Silent for root and "All Files" to find the next folderId at each step), then call Browse-Folders for the final destination ("Colors") so the user sees only the destination. Never use this when the user explicitly asked to open or view a folder — that is what Browse-Folders is for. Pagination on a folder the user is already viewing must use Browse-Folders, not this tool, so the widget can merge new assets. Asset downloadUrl fields returned here follow the same exchange rules as Browse-Folders (Get-Asset-Download-URL or Batch-Get-Asset-Download-URL, up to 10 per batch call).
Browse-Folders-Silent
Convert a document (e.g. PDF, DOCX, PPTX, TXT, XLSX, CSV) to Markdown so its content can be read and processed. Not suitable for image files — use Get-Asset-Download-URL for images instead. Asset URLs from earlier context must come from Get-Asset-Download-URL or Batch-Get-Asset-Download-URL; user-supplied URLs are also accepted.
Convert-File-To-Text
Create a new folder. Requires the new folder's name (newFolderName), the parent folder's ID (parentId), and the parent folder's display name (parentFolderName). Valid parentIds can be ONLY retrieved by: Browse-Folders, Create-Folder, Rename-Folder.
Create-Folder
Permanently delete an asset. Requires both the asset's ID (assetId) and its display name (assetName). This action is irreversible — confirm with the user before proceeding. Valid assetIds can be ONLY retrieved by: Search-Asset, Browse-Folders, Get-Brand-Config, Rename-Asset.
Delete-Asset
Permanently delete a folder. Requires both the folder's ID (folderId) and display name (folderName). This action is irreversible — confirm with the user before proceeding. Valid folderIds can be ONLY retrieved by: Browse-Folders, Create-Folder, Rename-Folder.
Delete-Folder
There is no direct move operation. To move an asset, call these three tools in sequence: 1. Get-Asset-Download-URL — obtain a temporary download link. 2. Upload-Asset-By-URL — upload it to the destination folder. 3. Delete-Asset — remove the original.
Get-Asset-Move-Instructions
Retrieve all versions of an asset. Requires the asset's ID (assetId) and display name (assetName). withMaster defaults to true, meaning the current version is included alongside historical ones. Set withMaster: false to return historical versions only. Valid assetIds can be ONLY retrieved by: Search-Asset, Browse-Folders, Get-Brand-Config, Rename-Asset.
Asset-Versions
There is no direct folder move operation. Follow this exact sequence: 1. Create-Folder at the destination. 2. For each asset, follow the Get-Asset-Move-Instructions sequence: Get-Asset-Download-URL → Upload-Asset-By-URL → Delete-Asset. 3. Delete-Folder to remove the original. Constraints: only move folders containing assets, not subfolders. If subfolders exist, stop, list their contents to the user, and wait for explicit confirmation before doing anything.
Get-Folder-Move-Instructions
Exchange a provider-specific reference URL for a temporary CI HUB download URL (resolvedDownloadUrl), valid 20 minutes. Returns compact JSON with resolvedDownloadUrl only. resolvedDownloadUrl is single-use and expires in 20 minutes — fetch immediately once in sandbox; do not re-fetch the same URL later. PPTX, sandbox HTML/website, or local asset preview: do not fetch thumbnailUrl or previewUrl — curl each resolvedDownloadUrl once in sandbox, build from local paths; never inline file bytes in chat. Requires providerDownloadUrl and full filename including extension (assetName). Valid providerDownloadUrls can be ONLY retrieved by: widget selection context (structuredContent.selectedAssets), Browse-Folders, Browse-Folders-Silent, Search-Asset, Get-Asset-Metadata, Get-Brand-Config.
Get-Asset-Download-URL
Load one asset's metadata and links (thumbnailUrl, providerDownloadUrl, capabilities, optional EXIF/IPTC/custom fields) by CI-HUB asset id. Does not return file bytes — use Get-Asset-Download-URL with providerDownloadUrl from this response when you need a fetchable URL (resolvedDownloadUrl). For multiple assets, use Batch-Get-Asset-Metadata instead of calling this tool repeatedly. Skip this tool when widget selection context (selectedAssets) already includes providerDownloadUrl and you only need download access. Valid assetIds can be ONLY retrieved by: Search-Asset, Browse-Folders, Browse-Folders-Silent, Get-Brand-Config, Rename-Asset.
Get-Asset-Metadata
Open a provider folder by folderId AND show it to the user in the folder-browse widget. Every call of this tool renders the widget. The tool only accepts a folderId — there is NO way to look up a folder by name; folderDisplayName is purely a UI label for the breadcrumb and does NOT influence which folder is opened. If folderId is omitted, the root folder is opened. When the user asks to open, browse, or navigate to a folder: if you already know the target folderId, call Browse-Folders directly with that id. If you do not know the target folderId yet (the user named the folder, mentioned a path, or pointed at it indirectly), discover it first by walking the tree with Browse-Folders-Silent — start from root (omit folderId), match the next path segment against the folders array in that response by name, and recurse using that child folder's id — then call Browse-Folders ONCE with the final folderId so the user only sees the destination. Paths like /my/asset/path are not accepted as input. Responses include structuredContent.totalItems (from CI HUB totalAssetsCount) for the folder; that count may include immediate child folders as well as files — structuredContent.totalFiles is max(0, totalItems - folders.length) for an estimated files-only total against the subfolders returned in this response. The assets array in structuredContent is this page only — use assets.length for the page size. Prefer totalFiles when wording how many files exist versus subfolders. Pagination uses only the cursor field more (same pattern as GET /assets/search): when more is non-empty, additional assets exist — pass more back with the same folderId and providerId to continue. CI HUB reads query parameter size on every request (PaginationParameters); omitting pageSize makes this server send a stable default (25). When continuing with more, pass the SAME pageSize on every page as on the first request for that folder sequence — otherwise page boundaries can drift. Optional pageSize is clamped on this server to at most 50; CI HUB may apply a lower per-provider maximum (maxQuerySize). structuredContent.pageSizeApplied is the page size sent after this server's clamp; provider-side shrink is not separately surfaced — compare assets.length on this response to pageSizeApplied when needed. Offset pagination is not supported — use more only. When the response includes a non-empty more cursor, pass it back with Browse-Folders (not the silent variant when merging into the widget) so new assets append correctly. When you know the human-readable folder name (from user wording, the matching folder entry in a previous Browse-Folders/Browse-Folders-Silent response, or the parent listing), pass it as folderDisplayName so the browse UI breadcrumb shows that name. To exchange asset downloadUrl values from this listing for temporary CI HUB download links, use Get-Asset-Download-URL or Batch-Get-Asset-Download-URL (up to 10 assets per batch call). Valid folderIds can be ONLY retrieved by the following tools: Browse-Folders, Browse-Folders-Silent, Create-Folder, Rename-Folder.
Browse-Folders
Rename an asset by providing its ID (assetId), current name (oldAssetName), and new name (newAssetName). Both names must include the file extension (e.g., report.jpg → report-final.jpg). Valid assetIds can be ONLY retrieved by: Search-Asset, Browse-Folders, Get-Brand-Config, Rename-Asset.
Rename-Asset
Rename a folder by providing its ID (folderId), current name (oldFolderName), and new name (newFolderName). Valid folderIds can be ONLY retrieved by: Browse-Folders, Create-Folder, Rename-Folder.
Rename-Folder
Retrieve the brand kit for the connected provider: logos, color palettes, and other configured brand assets. Use this when the user asks about brand guidelines, wants to find official brand images or colors, or needs to reference brand assets. Results are grouped by category title. Color categories (categoryType: "colors") return fully hydrated color values inline as category.colorAssets (hexValue, rgbValue, cmyk, pantone). Do NOT call Get-Asset-Download-URL, Batch-Get-Asset-Download-URL, or any other tool to read individual color files; use the values returned here directly.
Get-Brand-Config
Retrieve all usable providers. This needs to be called before any other tool is called because it is used to set up the providerId needed in every tool call. Before making any other tool calls, ask the user which provider he wants to choose for subsequent requests. Provide the user with the names of the providers, keep the IDs for yourself and use them internally. Do not start any other tool calls before making sure the user selected one provider of the list that is retrieved by calling this tool.
Get-Available-Providers
Search provider assets by query. By default each call requests up to 25 matching assets and folders in one page; optional pageSize is clamped to at most 200. If fewer exist, only those are returned. Optionally filter by parentId and by integration-specific filters (filters param: array of selected filter option ids as returned by CI HUB, e.g. "mediaType:image"; legacy object mapping filter id to selected option id is also accepted). Use "more" as a pagination cursor to continue a search only if additional results are needed, not by default. More is returned by previous search requests by this tool for the same query, if it is empty or absent, there is no further content. Thumbnail preview URLs in results expire after 20 minutes; re-run the search to refresh them. For file download, use Get-Asset-Download-URL for one asset or Batch-Get-Asset-Download-URL for multiple (up to 10 per call), each with the asset providerDownloadUrl from the Search-Asset or Browse-Folders response (never the asset id) — providerDownloadUrl is not directly fetchable. Do not use this tool when the user wants to open, browse, or navigate to a folder; call Browse-Folders instead. When the user asks to open, browse, or navigate to a folder, Browse-Folders is the destination tool — but it only accepts a folderId, not a name. If you already know the folderId, call Browse-Folders directly. If the user names a folder and you do not yet have its folderId, walk the folder tree using Browse-Folders-Silent (start from root by omitting folderId, then drill into matching child folder IDs from the response) to discover the target folderId, and then call Browse-Folders for the final destination. Valid parentIds can be ONLY retrieved by the following tools: Browse-Folders, Browse-Folders-Silent, Create-Folder, Rename-Folder.
Search-Asset
Upload an asset by URL into a folder. Requires the folder's ID (parentId) and its display name (parentFolderName). Optionally provide a filename via optionalName — if omitted, the name is inferred from the URL. Asset URLs from earlier context must come from Get-Asset-Download-URL or Batch-Get-Asset-Download-URL only; user-supplied URLs (e.g. from the web) are also valid. Valid parentIds can be ONLY retrieved by: Browse-Folders, Create-Folder, Rename-Folder.
Upload-Asset-By-URL
How do I improve a ChatGPT Plugin's discoverability?
The levers are the listing surface agents actually read: names, descriptions, keywords, tool metadata, and registry health. Which lever matters depends on where discovery breaks, which is what continuous measurement shows.
What are CI HUB alternatives on ChatGPT?
As of 2026-09-28, CI HUB competes with Air, Frontify, Jackpot, Kontainer, Partoska, Tolstoy Library, withPICA in ChatGPT Digital Asset & Media Management, ranked by public Discoverability Score.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.