Install
openclaw skills install openclaw-aicfo-agentUse when OpenClaw needs to access AICFO through one bearer API key. Covers agent-session introspection, company selection, app-level MCP usage, connector act...
openclaw skills install openclaw-aicfo-agentUse this skill to connect OpenClaw to the AICFO platform without touching browser-only routes or tenant-local daemons.
Primary surfaces:
GET /api/agent/sessionGET /api/agent/companiesGET /api/agent/dashboardGET|POST /api/agent/connectorsGET /api/company/queryGET /api/company/searchGET /api/company/entityGET /api/company/fileGET /api/documentsGET /api/documents/questionsPOST /api/documents/:id/clarificationsCanonical references:
docs/contracts/openclaw-quickstart.mddocs/contracts/external-agent-access.mdnode bin/openclaw-aicfo-adapter.mjs sessionnode bin/openclaw-aicfo-adapter.mjs toolsimplicitCompanyId if presentcompanyAccess.companiescompany_idAlways start with session.
Read:
implicitCompanyIdrequiresCompanySelectionIf there is no implicit company, require OpenClaw to pass company_id on every operation. Prefer the UUID from companyAccess.companies[].id; slug or exact company name are accepted as fallbacks.
Use bin/openclaw-aicfo-adapter.mjs as the primary OpenClaw bridge.
It is intentionally REST-first so the published skill does not depend on local npm packages or preinstalled MCP SDK modules.
Do not use /api/company/mcp as the primary integration path for OpenClaw.
REST is acceptable for:
/api/agent/session/api/agent/connectors if a client wants plain JSON instead of MCPDo not use browser onboarding routes under /api/connections/*.
Load references/operations.md when you need concrete command envelopes.
Typical adapter calls:
sessiontoolscompaniesdashboardquerysearchget-entityget-fileconnectorsconnectordocumentsdocument-questionsanswer-document-questionsThe published skill package is self-contained and should run on a machine that only has Node and the installed skill files.
/api/agent/connectors as the canonical machine connector surface./api/connectors/hub as legacy Slack/Jira compatibility only.company_id from session introspection instead of guessing. Use slug or exact company name only when the UUID is not available.documents.write, do not trigger Google Drive imports or document deletes.document-questions before assuming processing is complete.answer-document-questions and include provenance/source notes when available.Before relying on the integration:
node bin/openclaw-aicfo-adapter.mjs sessionnode bin/openclaw-aicfo-adapter.mjs toolsdashboardquerytelegram list_chatsgoogle_drive list_files