src/app/extensions/ whose extension.tsx default-exports a defineExtension call with type: "object-action". See App structure for the discovery rules.
Example
src/app/extensions/import-companies/extension.tsx
Arguments
"object-action"
required
Identifies this extension as an object action.
string
required
The unique identifier for this action.It is only used internally; never shown to the user.
string
required
The human-readable label for the object action.
async ({ object: ObjectSlug }) => Promise<void>
The function to run when the action is triggered. It receives the object
slug it was triggered on. You’ll likely want to show a
dialog or run a server function here.
ObjectSlug | Array<ObjectSlug> | (info) => boolean
A single slug, an array of slugs, or a predicate to select which objects the action will apply
to. The predicate receives
{object} and returns whether the action should be shown.Defaults to undefined, which will cause the action to show on all objects.The built-in slugs are