I'm building an app with the Instagram API using Instagram Login. My webhook endpoint is publicly accessible over HTTPS, the verification challenge succeeds through n8n, and the required webhook fields—including messages—are subscribed. I also linked an Instagram test account, accepted the tester invitation, connected the account to my platform, and generated an access token. Other webhook events arrive successfully, but message events do not. Even sending a test messages event from Meta's developer dashboard produces no callback. I've also tried conversations between test users, but still can't get reliable message events. This is blocking the screen recordings needed for app review because the app cannot go live until the recordings are submitted. Is there a sandbox restriction, conversation direction, or configuration detail that controls when message webhooks are delivered?
4 Answers
Double-check that the exact Instagram account connected through Instagram Login is the one assigned the tester role and that the invitation was accepted. Also confirm the token belongs to that account and that the messages field is enabled for the correct subscription. A successful webhook challenge only proves endpoint verification; it does not guarantee that message delivery is enabled.
Other developers have seen tester-to-tester messages remain silent even when the messages subscription appears correct. Test with a freshly created conversation, make sure both accounts are eligible testers, and inspect the complete incoming request rather than relying only on the dashboard’s test button. If ordinary events work but message events consistently fail, it may be a platform sandbox limitation rather than a webhook verification issue.
The sandbox can be confusing here. Message events may require both participants to be eligible test users, and the conversation may need to be initiated from the expected side. A test sent from the developer dashboard is not always equivalent to a real conversation event, so verify the behavior with two properly configured tester accounts and confirm that both accounts accepted their roles.
There may also be limitations or inconsistent behavior in the test environment. One reported symptom is that an edited message triggers an event, but the original message event is missing or lacks a sender ID, which makes it unusable for normal message processing. If that is what you’re seeing, capture the raw payload and check the app’s webhook subscriptions, token permissions, and API version before assuming the n8n endpoint is the problem.

I tried using tester accounts on both sides, but I still wasn’t sure which account had to start the conversation. Is there a documented direction requirement?