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 charts Deleting a serverProjects & Git
Creating a project Connecting GitHub Project GitHub settings and webhook Connecting GitLab Branches and instances Tagging and filtering projects High availability with app nodes Project environments, extensions and deletionInstances & Console
Creating an instance Restarting, stopping and removing an instance Merging branches between stages Web IDE and remote access SSH access to instances 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-ups Agent insights and task filtersMonitoring & Backups
Monitoring your instance Backups and restore S3 storage, uploads and bulk backup actions Alert notifications (email and SMS)Workspaces & Permissions
Inviting workspace members Member permissions and resource access A member cannot see or use a resource Audit log and server activityAccount & 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 program Onboarding a client as a partnerSupport & 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
Running a task and reviewing the result
Creating an agent task by typing or by voice, reading and approving the plan, sending work back for another round, and what happens when a run fails or hits a provider limit.
You need the "Agent tasks" permission to see and create tasks, and the "Approve plans" permission to approve a plan. If the project's subscription is unpaid and the project has gone read-only, task creation is refused along with every other action.
Creating a task
- Open the task list in one of two places:
- The project's task page: in the project console sidebar, click "Agent Tasks".
- One instance's tasks: in the instance console, click the "Agent Tasks" tab.
- Click "New Task". The "New Agent Task" form opens.
- Enter a "Title", for example what should change in a few words.
- On the project's task page, pick the "Instance" the agent works in. This decides which codebase the agent reads and which branch the result is pushed to. From an instance console, the task always targets that instance.
- In "Description", say what should change, in plain language. Detail helps: the same ask with two sentences of context produces a much better plan than the ask alone.
- Optionally, add "Attachments" (specs, data files, screenshots) for the agent to read before planning. This field appears only when the project has S3 storage configured.
- Optionally, tick the "Skills" this task should use. Always-on skills are loaded whether or not you tick them.
- Leave "Auto-execute" unticked if you want to review the plan first. It starts from the project's setting, is shown only if you can approve plans, and is not offered for a production instance.
- Click "Create & Plan".
If the instance is production, the form shows "This is a production instance" (or "This is your production instance" in the console) with a warning, and clicking "Create & Plan" opens "Run an agent on production?". Type the word confirm and confirm to go ahead. The task is recorded as a production task from then on.
Dictating a task instead of typing
In Chrome, Edge and Safari, a "By voice" button sits next to "New Task", and a microphone ("Dictate") sits in the corner of the description box. Firefox has no speech recognition, so these do not appear there.
- Click "By voice", or open the form and click the microphone in the description box.
- Speak. While it listens, the box shows "Listening".
- Click "Done". What you said is added to the description, and an empty title is filled from your first sentence.
- Read both fields. Click "Undo" to take back what you just dictated.
- Click "Create & Plan".
The language button next to the microphone sets the "Dictation language". It follows your app language ("Same as app language") until you pick another, and the choice is remembered in that browser. Speech is recognised by the browser itself, which may send the audio to its maker's speech service (Chrome uses Google's); CICDoo never receives or keeps a recording. The same microphone is in the boxes behind "Request Changes", "Plan Again With Guidance" and "Start Another Round".
Reading and approving the plan
The agent picks the task up, reads the codebase and writes back a plan. Nothing has been changed yet at this point.
- Click the task in the list to open it.
- Wait while the page shows "The agent is investigating your codebase and writing a plan." The page updates by itself.
- In the "Usage" tab, click "Planning" in the Phase column of the latest round to open the plan.
- Read the plan itself, not just its first line. It is your only chance to catch a misunderstanding before code is written.
- Choose an action from the bar at the bottom of the page:
- "Approve & Execute": the agent implements the plan. You are asked to confirm; on production you must type
confirmin "Approve and execute on production?". - "Request Changes": type what should change about the plan, then click "Send Back for Replanning". The agent plans again with your feedback.
- "Cancel Task": stops the task.
- "Approve & Execute": the agent implements the plan. You are asked to confirm; on production you must type
If you lack the "Approve plans" permission, the bar says "You do not have permission to approve agent plans." and "Approve & Execute" is not shown.
Sometimes the agent reports the plan as blocked: it has decided it cannot do the work safely, or the ask is not clear enough. A blocked plan always waits for a person, even when auto-execute is on. Read it, then approve it if the fallback it describes is acceptable, or use "Request Changes" to say what the agent is missing.
What lands in git
Once you approve, the page shows "The agent is implementing the plan and verifying it on this instance." The agent makes the change inside the instance's container, commits it, and pushes to that instance's branch. That push redeploys the instance, so the result is running where you can look at it. Open "Execution" in the Phase column to read the agent's result.
There is no pull request. The commit goes straight onto the branch the instance is deployed from, which is why the instance you pick matters and why production needs two typed confirmations.
If the run finishes without needing to change anything, it says "Completed without a code change" rather than inventing a commit.
Sending the result back for another round
When a task has finished (executed, failed during execution, or cancelled), the "Usage" tab shows a "Not quite right?" card.
- Under "What needs to change?", describe what is wrong.
- Click "Start Another Round".
- Review and approve the new plan as above.
The agent plans a fix building on the code it already pushed rather than starting over, and the existing commit stays on the branch. Rounds are counted on the task, so you can see how many passes a piece of work took; earlier rounds are folded away at the bottom of the Usage table behind a "Show 1 earlier round" (or "Show N earlier rounds") link, and each one can be opened to read what it produced.
Retrying a failed plan or run
When a task fails, a "Failed" card explains why, and the action bar offers:
- "Plan Again": reruns planning as it is, useful when the first attempt failed rather than went wrong.
- "Plan Again With Guidance": type a note for the agent, then click "Send Back for Replanning".
Resuming after a provider usage limit
If a run hits your provider's usage limit, the task pauses and an amber card says when it can carry on.
- Wait until the card shows "Resumable now."
- Click "Resume". For an interrupted execution you are asked to confirm.
Resume carries on with the approved plan from that point. It is the same round, interrupted, not a new one.
Adding files to an existing task
- Open the task and click the "Attachments" tab.
- Click "Add files", choose the files, then click "Upload".
Files cannot be changed while the agent is working on the task.
When something goes wrong
- The instance will not start with what the run committed. CICDoo moves those commits onto a rescue branch, resets the instance's branch, and brings Odoo back up. Nothing is pushed and nothing is lost: the work is on the rescue branch if you want it.
- The push fails. The work stays in the container's working tree rather than disappearing.
- The run stops reporting. If a container dies mid-work, the task is marked failed rather than left hanging forever. If the agent reports in late after that, the result is still picked up.
- You are out of agent hours. The task stays queued and starts by itself as soon as you top up. See Agent time and top-ups.
Watching usage
The task's "Usage" tab shows "Input tokens", "Output tokens" and "Agent time", and lists every run behind the task: its round and phase, who triggered it, the outcome, tokens in and out, and the time it took. Retries and failures are counted too, because they cost real agent time; a run that was not charged is marked "not billed". For charts across tasks and projects, see Agent insights and task filters.
Related: What agent tasks are, Setting up agent tasks, Agent time and top-ups, Agent insights and task filters.
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.