All articles
Getting Started
What is CICDoo Getting started: the onboarding wizard The Dashboard and Infrastructure MapConcepts
Production, staging and development stages Domains, subdomains and SSL Odoo versions and editions (Community vs Enterprise) Workspaces and team collaborationServers
Adding a server Server domains and DNS Using a load balancer Server actions: deploy, logs and chartsProjects & Git
Creating a project Connecting GitHub Connecting GitLab Branches and instancesInstances & Console
Creating an instance Restarting, stopping and removing an instance Merging branches between stages Web IDE and remote access Instance settings explained Deployments and the job queueAgent Tasks
What agent tasks are Setting up agent tasks Running a task and reviewing the result Agent time and top-upsMonitoring & Backups
Monitoring your instance Backups and restore Alert notifications (email and SMS)Workspaces & Permissions
Inviting workspace members Member permissions and resource access A member cannot see or use a resourceAccount & Security
Two-factor authentication (2FA) Profile and integrations settings Passwords and account recoveryBilling & Plans
Plans and pricing Upgrading and managing your subscription If a project subscription goes unpaid The channel partner programSupport & Tickets
Opening a support ticket Getting help from the CICDoo teamTroubleshooting
Troubleshooting: cannot connect a server Troubleshooting: a deployment failed Troubleshooting: git push fails with 403 after moving a repository Troubleshooting: my instance is down or slow Troubleshooting: domain or SSL problemsAgent Tasks
Setting up agent tasks
Turning agent tasks on for a project, choosing a coding CLI, connecting your own account to it, and teaching the agent your house conventions with skills.
Turning it on
Agent tasks are enabled per project, not per account. Open the project, go to Settings, then the Agent tab, and tick Enable agent tasks. That starts a poller inside every staging and development instance of the project, ready to pick work up.
You need the project settings permission to see and change this tab. If you cannot open it, ask whoever administers your workspace.
Choosing a CLI
Under Agent CLI, pick which coding CLI plans and executes tasks on this project:
- Claude Code
- Gemini CLI
- Codex CLI
Each signs in with its own credential and runs on your own account with that provider. CICDoo does not resell model access; the agent uses the subscription or key you supply, and runs count against your quota there.
You can switch CLI later. A credential you have already stored keeps its mask, so switching away and back does not ask for the secret again.
Connecting your account
How you connect depends on the CLI, and the difference decides who pays.
Claude Code
Run claude setup-token on your own machine, which needs a Claude subscription,
and paste the token into Claude Code Token. This is the only mode Claude Code
offers here.
Gemini CLI and Codex CLI
Both can run two ways, chosen under How the agent signs in:
- Your own subscription. Sign in to the CLI on your own machine, then paste
the whole contents of its cached sign-in file:
~/.gemini/oauth_creds.jsonfor Gemini,~/.codex/auth.jsonfor Codex. The agent refreshes it as it runs and sends the refreshed copy back, so you should not have to do this again. - API key, billed per token. Create a key in Google AI Studio or the OpenAI platform dashboard and paste it in. Runs are billed to that key by the provider.
A paid Gemini Code Assist licence also needs its Google Cloud project id. Leave that blank for a personal Google account.
Read this before pasting a credential
The credential is stored on the platform and sent to your instance containers so the agent can authenticate. Anyone with shell or IDE access to those containers can read it.
A sign-in file is a stronger thing to hand over than an API key. It is your account session, not a scoped credential: it cannot be revoked on its own, and it is what the CLI would use if someone ran it by hand inside the container. Providers also aim these plans at interactive use, and OpenAI recommends an API key for automated workflows, so check your plan terms before pointing an agent at a personal subscription.
If that is a concern for your setup, use API key mode where the provider offers it: a key can be scoped and revoked on its own.
Optional settings
- Model. A model alias or full model name for the CLI you picked. Leave blank to use its default.
- Auto-execute plans. New tasks on this project skip the review step: a successful plan is approved automatically, then implemented and pushed with nobody reading it first. A plan the agent reports as blocked still waits for you, and so does every plan on the production instance. You can change this per task, and setting it needs the plan-approval permission.
Skills: teaching it your conventions
The Skills section on the same tab is where you record house conventions the agent should follow: how you name things, how you write views, how you test.
Upload a Markdown file, or a .zip of a skill folder with a SKILL.md inside.
You pick which skills a task uses when you create it, and a skill can be marked
always-on so every task gets it. Skills live in your project's own storage
bucket and are installed into the container for the tasks that use them.
This is the cheapest way to improve results. An agent that knows your module layout and your testing convention produces plans you have to correct less often.
Next steps
For what an agent task is and the rules around production, see What agent tasks are. To create and review your first one, see Running a task and reviewing the result.
If you get stuck, open a support ticket from the Tickets page or the chat widget.
Still stuck? Open a ticket from the app or talk to an engineer.