Sellavie.ai Instagram webhooks: the delivery fight
OAuth, Instagram business accounts, webhook subscriptions, message tags, and the difference between 'connected' and actually receiving events.
Late February was the integration phase where "connected" was not good enough.
The account could look connected. OAuth could return a token. The UI could show progress. But the business value only existed if the right Instagram account actually delivered messages into the system. Those are different things.
What kept showing up
The git history from this period is full of the real integration work:
- OAuth CORS fixes
- Instagram app ID mismatches
- IGBA retrieval failures
- webhook subscription diagnostics
- missing sender handling
- native Instagram OAuth versus Facebook Login for Business differences
- HUMAN_AGENT message tag behavior
- deep webhook delivery tracing
That is normal for provider work. The documentation path and the production behavior do not always line up cleanly, especially with Meta's API surface.
The real lesson
Third-party integrations need evidence at every layer.
It is not enough to say "the account is linked." The product needs to know which account, which app ID, which subscription fields, which token type, and which delivery path actually produced the event. The green connection state in the UI is the thing you are trying to earn, not the thing that tells you you have it.
This integration took several rounds. That is not a failure — it is what provider integration work actually looks like when you do it honestly.