Install
Authenticate
hookmyapp login --email <you@example.com>.
Workspaces
A workspace is the tenancy boundary for every other command.Pick one before you connect channels.
Channels
Connect your own Instagram professional account, then run per-channel operations.Address a channel by its ID (
ch_xxxxxxxx from channels list) or its @handle.
Instagram commands
Use@handle anywhere a command asks for an Instagram channel.
Messages
Comments
Publish
Publish runs the full flow (create container, wait for processing, publish) and prints the permalink.Media URLs must be public HTTPS. See Publish content for media requirements and quotas.
Insights
See Insights for the metric list and data caveats.Receive webhooks
There are two ways to tell HookMyApp where to send inbound DMs for your own account. For local development, send DMs to your laptop while the CLI runs:channels listen for local testing or a deployed webhook URL.
Read the delivery history:
Sandbox
Test on Instagram with no Meta setup.See Sandbox for the full flow.
Alerts
Your own alert phone: where we reach you if something stops working.set asks for it. In a script there is no prompt: run set with --json, then finish with alerts phone verify <code>.
Alerts are on once the number is verified.
Notifications
Notifications from HookMyApp delivered straight to your AI agent, like Claude Code, ChatGPT, or Codex: failing webhooks, disconnected channels, usage limits, and product announcements.Billing
Config
Persistent CLI settings.Output formats
Every command takes--json for machine-clean output and --human to force human formatting when stdout is not a TTY.In
--json mode, errors use the envelope {"error":{"code":"...","message":"...","status":NNN}}.
--workspace <slug> overrides the active workspace for one command, and --debug logs the HTTP requests the CLI makes.
Help
Next steps
- Sandbox: Start an Instagram sandbox session and pull env values.
- Connect Instagram: Connect your own Instagram account.
- Webhook routing: Route inbound Instagram DMs.