bcquality/community/knowledge/agents/cross-app-agent-calls-need-your-public-api.md
Jesper Schulz-Wedde 2b5550c346
Some checks failed
Validate knowledge index / validate-index (push) Has been cancelled
Validate AL review fixtures / validate-review-fixtures (push) Has been cancelled
Validate frontmatter and structure / validate (push) Has been cancelled
Improve partner onboarding and documentation navigation (#174)
Lead with a complete plugin quick start and add task-oriented usage, troubleshooting, customization, and contribution guides. Preserve the broader plugin framing, correct conflicting contract guidance, support Agents folder reviews, and align repository validation. Convert existing sample references to clickable links without changing knowledge rules.

Co-authored-by: Jesper Schulz-Wedde <jesper.schulzwedde@microsoft.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
2026-09-09 17:31:03 +02:00

1.3 KiB

bc-version domain keywords technologies countries application-area
27..
agents
cross-app
public-api
agent-create
isolation
access-public
al
w1
all

Other apps cannot call the toolkit APIs on your agent; publish your own API

Description

For isolation, Agent, Agent Task Builder, and related toolkit codeunits error when the target instance belongs to another app. There is no supported way to pass another extension's metadata provider into SetInstructions or Create. Partners who need to enqueue work must call a public API you own.

Best Practice

Expose a public codeunit in the agent app (Access = Public) whose procedures take User Security ID and forward to Agent / Agent Task Builder. Document that surface as the integration contract. Keep toolkit calls inside that app.

See sample: cross-app-agent-calls-need-your-public-api.good.al.

Anti Pattern

From app B, calling Agent.SetDisplayName or Agent.Create with app A's metadata provider. Detection signal: toolkit agent APIs used with an Agent Metadata Provider value not declared in the same app.

See sample: cross-app-agent-calls-need-your-public-api.bad.al.