This will be available in the next version. A ticket filed into another project of your account can now be assigned to one of that project's teams or saved agents (use the ids that project's team and agent lists return), so it runs through that project's own pipeline when it starts. The ids are checked in the target project: an id that does not exist there is refused with a clear message instead of being dropped. A ticket that was routed to the wrong executor can also be re-assigned from the original project, by changing only its team or agent. Client-folder teams cannot be assigned this way yet, because which folder a project sits in is only known on the machine. If this is not what you had in mind, tell us and we will adjust it.
`backlog_create({project})` cannot assign the new ticket to a team of the target project — only portable `role:*` ids are accepted
From Pedro FigueiraDone 1 day ago
What happened
When an agent files a ticket in a sibling project of the same account/folder (backlog_create({ project: "<other project>", ... })), the ticket cannot be assigned to one of that project's agent teams. The tool description states: "A ticket filed elsewhere cannot carry an executor resolved here: pass a portable role:... id if you must assign it, never a project agent id, a teamId, skillIds or an accountProfileId." As a consequence the ticket lands in the sibling project assigned to a single generic role (e.g. role:architect), and there is no follow-up tool to fix it: backlog_update "acts on the CURRENT project only: an id from another project is refused and nothing is changed."
Steps to reproduce
- Two projects in one account/folder; Project B has an agent team.
- From a Project A console:
backlog_create({ project: "Project B", title: "…", teamId: "<team id of B>" }). - The
teamIdis not applicable (contract accepts onlyrole:*); the ticket is created withteamId: nulland a role-based executor. backlog_update({ taskId: "<id in B>", teamId })from Project A → refused ("acts on the current project only").- Only fixes: a human click on B's board, or messaging an agent with a live console in B.
Evidence
Cross-project create response: scope "Filed in CrmApi…", teamId: null, agentId: "role:architect". Tool contracts: backlog_create project forbids teamId/agentId; backlog_update is current-project only.
Why it matters
Multi-repo products are the norm: a defect is often diagnosed in one repository and fixed in another. Today the routing step loses the executor, so either a human re-assigns every cross-project ticket by hand, or it is started by the wrong single agent instead of the project's reviewed pipeline.
AgentsRoom diagnostics
- App version: 1.222.0
- OS: linux 7.0.0-38-generic (x64)
- Agent CLI: claude
- App language: system
Problem to solve
Cross-project backlog_create accepts only portable role:* executors: it cannot pin a teamId or a project agentId of the target project, so the ticket is created with teamId: null and a generic role. backlog_update acts on the current project only, so the executor cannot be corrected from the originating project either.
Proposed behavior
Let cross-project create pin the target project's executor: accept a teamId of the target project (from teams_list scoped there, or a global-scope team visible to both) so the ticket runs that project's pipeline when it moves to in_progress; optionally a target-project agentId with local-create semantics; and validate server-side, refusing an id that does not resolve in the target project instead of silently dropping it. Complementary: let backlog_update({ project, taskId, teamId | agentId }) edit a sibling ticket's executor fields only.
Who benefits
Agents and teams on multi-repo products within one account/folder, routing tickets between repositories where the target repository already runs a reviewed multi-agent team pipeline.
Acceptance criteria
A cross-project ticket can be assigned to the target project's team and runs through that project's pipeline on in_progress; a mis-routed ticket is corrected without opening the other project or a manual human re-assignment.