Skip to main content
Embedded apps running inside Aptly can trigger UI interactions in the parent window — opening a card, starting a phone call, launching the email composer, creating an event, and more — by posting a browser message. Aptly executes the action if your app has been granted that permission. This works alongside delegate token authentication. You can use one, the other, or both.
If your app includes the Aptly SDK, use the named wrapper methods. They return a Promise<{ success: boolean, error?: string }>, handle the response listener for you, and time out after 3 seconds.

Raw postMessage

If you are not using the SDK, post a message directly to the parent window. Aptly validates the permission and sends a response.
Listen for the response:
Aptly responds with { type: 'aptly-action-result', action, success: true } or { ..., success: false, error: 'Not permitted' }.

Enabling actions for your app

Actions must be explicitly granted — nothing runs by default. An admin configures this in the settings for the specific embed. Marketplace app: In Global Admin → App Marketplace, open your app’s edit modal → Permissions tab → Embed Actions. When a user installs the app on a board, these permissions are copied to that board tab and can be adjusted in board settings. Custom board tab: In Board Settings → your tab → edit → Allowed Actions. Dashboard widget: In Dashboard → add or edit app → Embed Actions.

Available actions

open-card-pane

Navigates to a specific card in the board’s side panel.

open-card-view

Opens a card in a fullscreen detail view (floating modal).

start-dialer

Opens the Aptly phone dialer with a number pre-filled.

open-email-composer

Opens a new email compose window, optionally pre-filled.

create-event

Opens the calendar event editor, optionally pre-filled.

create-card

Opens the new card form on a specific board, optionally pre-filled.

create-task

Opens the task creation form, optionally pre-filled. Common use case: a “remind me later” button that pre-fills a future due date.

create-contact

Opens the contact creation modal, optionally pre-filled.

Navigates to a contact’s record page.

Troubleshooting

Action fires but nothing happens. Check that the action is listed under Allowed Actions for the specific embed where your app is running. Permission is configured per embed, not globally. Response says success: false, error: 'Not permitted'. The action is not in the embed’s allowed list. An admin needs to enable it in the app or board settings. No response message at all. Ensure your app is loaded inside an Aptly embed (not a standalone tab) and that the message is sent via window.parent. The SDK wrappers handle this correctly. open-email-composer opens but the To field is empty. Pre-filling recipients is not yet supported for this action — the user can type recipients manually after the composer opens.