I’m trying to connect Facebook/Instagram publishing in n8n using my own Facebook Graph API app credentials, but I keep getting this error during OAuth:

Describe the problem/error/question

Hi everyone,
I’m trying to connect Facebook/Instagram publishing in n8n using my own Facebook Graph API app credentials, but I keep getting this error during OAuth:
OAuth "Facebook Platform" "insufficient_scope" "(#200) The permission(s) publish_actions are not available. It has been deprecated."
My current scopes are:

  • pages_show_list
  • business_management
  • instagram_basic
  • instagram_manage_comments
  • instagram_manage_insights
  • instagram_content_publish
  • instagram_manage_messages
  • page_events
  • pages_read_engagement
  • pages_read_user_content
  • pages_manage_posts
  • pages_manage_engagement
  • instagram_branded_content_brand
  • instagram_branded_content_creator
  • instagram_branded_content_ads_brand
  • instagram_manage_upcoming_events
    I already removed publish_actions from my Meta app scopes, so I’m confused why n8n still seems to request it.
    Things I already tried:
  • Recreating credentials
  • Reconnecting Meta account
  • Using latest scopes
  • Creating a new Meta app
    Is the Facebook node in n8n still internally requesting publish_actions somewhere?
    Would using an HTTP Request node with Graph API be the recommended workaround now?
    Thanks!

What is the error message (if any)?

Please share your workflow

Share the output returned by the last node

statusCode
403
headers
vary
Origin, Accept-Encoding
x-app-usage
{“call_count”:0,“total_cputime”:0,“total_time”:1}
content-type
application/json
www-authenticate
OAuth “Facebook Platform” “insufficient_scope” “(#200) The permission(s) publish_actions are not available. It has been deprecated. If you want to provide a way for your app users to share content to Facebook, we encourage you to use our Sharing products instead.”
facebook-api-version
v23.0
strict-transport-security
max-age=15552000; preload
pragma
no-cache
cache-control
no-store
expires
Sat, 01 Jan 2000 00:00:00 GMT
x-fb-request-id
AtH2YMdQsdFcI6iekAcirVl
x-fb-trace-id
BCsxBdbanAr
x-fb-rev
1039501489
x-fb-debug
rYKAqiWibB4tQEKE3VUMLWlW99Mi8bnA0RCp5yAQRgD0+QHs8d7ycbetplAZH8x+cVt/hCgS0lR8jX8ARhCklw==
date
Thu, 14 May 2026 16:55:47 GMT
proxy-status
http_request_error; e_fb_vipaddr=“AcS4IvicKsnIrEYKRnLSVOGuOjwuTwDJCfZV510cp-Zo9DNp2LPfRXWCA1nBBTFOo3QkK5JryreLCpXsCtUA5ihaNETCa7G9-7fxcw”; e_clientaddr=“AcThejZ2br9WQ7w_77tyXJqAfsTVA_GephAv9nxKrX8jxCKppXyHyxKNXSU288cnRthj69waWcIk-Qayy8BAQCeJUH0CtGQTGB1QOq1tNDUp1rAjzw”; e_upip=“AcS196rkY487Iwu48ktmBLFArmoY1jjaVNqVmCBddWyf2z6mUrtIeWwFMmxV8syKy5CRXfdMFtpVLM_ZHLlvNcCQYvM81RkwqYTD1dUtELA”; e_fb_zone=“AcSIrw9M5aLHyK1ZkP6AH0Lpi_6SbN2RezsunudSOafgO9e3-YSPYRFy_13XBgYL”; e_fb_twtaskhandle=“AcR6Aej-tgH_LrOg3aDhZhcM8BQ-HkzyIKyNdKwC4uPaXWW7-MGcmktDTTYzZxSzaqYvOOqSctQfT7mLWLpu05509Pt1NKbbQFMEdN25vhizleo”; e…
x-fb-connection-quality
EXCELLENT; q=0.9, rtt=7, rtx=0, c=10, mss=1380, tbw=4557, tp=-1, tpl=-1, uplat=721, ullat=20
alt-svc
h3=“:443”; ma=86400
connection
close
content-length
223

Welcome @Saif_Hussain to our community! I’m Jay and I am a n8n verified creator.

The publish_actions scope was deprecated by Meta years ago - remove it entirely from your app. For Facebook Page publishing you need pages_manage_posts and pages_read_engagement. For Instagram, instagram_content_publish is correct (which you already have). Also double-check that your Facebook app is set to “Live” mode (not Development) and that your test user or page has accepted the permissions - in Development mode only app admins/testers can authorize.

Welcome to the n8n community @Saif_Hussain

publish_actions is still being triggered somewhere in your workflow, but I can’t tell from your JSON. I would check the actual OAuth authorization URL generated on reconnect and look for the scope parameter; if publish_actions appears there, n8n/node/credential is requesting the old scope. If it doesn’t appear, I would suspect more of an old token, cached credential, or legacy configuration in your Meta app.