Skip to main content
Automate.ax connects Meta Ads through Meta OAuth. It exchanges Meta’s short-lived authorization result for a long-lived user token and records its expiration. Meta does not issue a standard refresh token for this flow, so reconnect the account after expiration or invalidation. Packaged actions request the least permissions they need. Reads use ads_read or ads_management; writes and managed ad-account webhooks use ads_management; Business portfolio inventory also uses business_management. Lead reads use ads_management, leads_retrieval, pages_manage_ads, pages_show_list, and pages_read_engagement; managed lead webhooks also use pages_manage_metadata. Page and Instagram actions and triggers use pages_show_list plus these permissions: Page-scoped calls act with a Page access token that Automate.ax derives from the connected user on each call; the person needs a task on the Page, such as MODERATE or MESSAGING. Instagram messaging and Instagram triggers go through the Facebook Page linked to the Instagram account. Meta grants Limited Access to development apps. Production use and access to assets owned by another business generally require Business Verification, App Review, and Advanced Access for each permission. Verify access with disposable business, ad-account, Page, pixel, and lead-form resources before relying on a workflow.
Until Meta approves Advanced Access for the Page, Messenger, and Instagram permissions, comment, mention, and message triggers only receive activity from people with a role on the Meta app, and messages only reach those people. Real customers’ comments and messages arrive after Advanced Access.
Messenger and Instagram sends work inside Meta’s standard messaging window: 24 hours after the person’s last message or interaction, or up to 7 days after a Click-to-Messenger or Click-to-Instagram-Direct ad conversation starts. A private reply to a comment is limited to one message within 7 days of the comment. The integration pins Graph and Marketing API v26.0. Version upgrades are explicit Automate.ax releases. API failures throw MetaAdsApiError with the HTTP status, Meta code and subcode, transient marker, trace ID, retry delay, and raw app, ad-account, and business-use-case usage headers. Back off when Meta reports quota pressure. Managed triggers configure the app-level ad_account or page Webhooks subscription, attach the selected ad account or Page to the app with every field its triggers need, validate Meta’s GET challenge, and verify X-Hub-Signature-256 against the exact request body. Instagram triggers attach the linked Page and route by Instagram account. Status-change events announce a change; read the object to obtain its current status. Filtered subscriptions events require a provider subscription created through the subscription actions. Use getMetaAdsApi(account) inside a custom account-backed action for an uncovered Graph edge. Paths remain under https://graph.facebook.com/v26.0/, query and body keys use public camel case, nested bodies are converted to Meta wire keys, and every response requires a Zod schema. This is an authenticated helper, not a generic packaged action. See Meta’s Marketing API authorization, Graph API versioning, Ads Webhooks, Lead Ads retrieval, Webhooks for Pages, Messenger webhooks, Instagram webhooks, Messenger private replies, and Conversions API.