Cross-App Communication
Let the apps in your organization call each other's APIs through Stardeck, and set up the calls from your coding agent.
Independent apps in one organization can call each other through Stardeck: a storefront posting to an accounting product, or a CRM creating invoices when a deal closes. There are no URLs, secrets or auth to manage between apps.
Confirm the products should be separate first. Audience- or device-specific experiences in one product belong in Surfaces. See When to Create a Separate App.
How it works
Apps call each other by slug through Stardeck, never directly. Each app's API routes are detected from its default branch, so other apps and agents can discover them.
flowchart TB
subgraph setup [Setup]
direction LR
B_build[App B's API routes] -- detected from the default branch --> Platform_reg[Stardeck lists the endpoints]
Platform_reg --> A_discover[Other apps and agents can discover them]
end
subgraph runtime [Every cross-app call]
direction LR
A[App A] -- call by slug --> Platform[Stardeck]
Platform -- signed request --> B[App B]
B -- response --> Platform
Platform -- response --> A
end
setup --> runtime
On every call Stardeck checks permissions, signs the request, routes it to the right deployment and logs it. Redeploys don't break calls, and no secrets are shared between apps.
Set up a call
Work in each app's checkout with your coding agent. It writes the calls with the
@stardeck-customer-apps/cross-app package and follows the SKILL.md inside it. One
MCP connection reaches every app in your organization, so one agent
session can work on both sides. See Work Across Every App. If you
build in the browser, give the same prompts to Starcat Developer in each app's Build tab.
Expose the API in the app being called
In that app, ask your agent:
Add API routes so other apps can check order status and create new orders. Document each one
with a route.schema.json.Once the change is on the default branch and its sandbox runs it, click Detect under
Published endpoints in the app's Settings → Cross-App, or have your agent run
sync_cross_app_endpoints.
Grant access
Either turn on Allow all apps to call this project in the called app's Settings →
Cross-App, which allows reads only, or add a grant from the calling app's Settings →
Cross-App under Outgoing calls, with Read only or Full access. Your agent can
create the grant with create_cross_app_grant. See
Permissions & Grants.
Make the call from the calling app
In the calling app, ask your agent:
When an order is paid, create a journal entry in the accounting appTest it
Mark a test order as paid in the calling app's sandbox, then check Recent calls on either
app's Cross-App tab. Your agent can read the same log with list_app_cross_app_calls.
Call an app from your agent
Your coding agent and Starcat can also call an app's API directly, with no code:
- "What can I call on the invoicing app?"
- "Get the latest orders from the storefront app"
- "Check inventory on the warehouse app and update the storefront if anything is out of stock"
The target app needs Allow agent access on in its Cross-App settings. See Agent Cross-App Calling.