Using the Aptly SDK (recommended)
If your app includes the Aptly SDK, use the named wrapper methods. They return aPromise<{ 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.{ 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.
navigate-to-contact
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 sayssuccess: 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.