Social media automation for Facebook and Instagram
AFP replies to Facebook and Instagram comments and direct messages for you: you connect a page, draw a campaign on a canvas, and switch it on. From then on every comment or DM that matches your campaign’s trigger starts a run that can send a DM, reply publicly, tag the contact, wait, or branch — in the order you drew it.
The whole get-started path is built backwards from one outcome: a real comment on your page produces a real automatic DM. Everything else on this site assumes you have done that once.
The three steps
Section titled “The three steps”| Step | What you do | What it produces |
|---|---|---|
| 1. Connect a page | Link the Facebook page or Instagram business account AFP is allowed to act on. Creating your first campaign on that page also subscribes it, so events start arriving. | A page AFP receives comment and DM events for. Events never arrive for a page that is not subscribed. |
| 2. Build a campaign | Pick the page in the canvas header, add nodes from the palette on the left, configure them, then click Save campaign. | A saved version of the graph: its nodes, its connections, and their settings. |
| 3. Activate it | Flip the Active toggle. It is a separate action from saving. | A campaign that is eligible to run the moment a matching event arrives. |
A campaign is bound to exactly one page. You choose that page in the canvas header before saving, and AFP derives the campaign’s platform from it — a standalone Instagram account produces an Instagram campaign, a Facebook page produces a Facebook one.
Activation validates the graph first. The canvas refuses to switch a campaign on until it has at least one trigger node, every non-trigger node has an incoming connection, and no node has a configuration error. Activating without a page selected is refused too.
Creating a campaign needs an active subscription, and your plan caps how many campaigns you can have. Both are checked before the campaign is created, so a failure leaves nothing behind. See Plans and quotas for what each plan governs.
Where to go next
Section titled “Where to go next”Start with the path, then take the module you need. Every module is one group in the sidebar, and the reference behind it goes a level deeper.
Looking for a term rather than a task? The glossary defines every word this site uses and links to the page that explains it. The changelog records what changed in AFP and in these docs, newest first.
Two things that go wrong first
Section titled “Two things that go wrong first”Step 1 and step 3 account for the questions people ask before anything else, and each one has a page that works through its causes in order.
| Symptom | Where the answer is |
|---|---|
| Your Facebook page or Instagram account does not appear in AFP, or appears and refuses to link | Why is my page not showing up? |
| The page is connected and the campaign is active, but a comment produces no DM | Why is my campaign not replying? |
What happens when someone comments
Section titled “What happens when someone comments”A matching comment or DM creates one execution — a single run of one campaign’s graph for one person. The execution walks the graph node by node and records every node it passes through, which is what you read when you need to know why something did or did not happen.
Four rules decide whether a run starts at all:
- Only active campaigns run. An event that arrives while the campaign is switched off is not matched, so no execution starts.
- Only the campaign’s current saved version starts new runs. Nodes belonging to older versions never fire, and a run already under way keeps walking the version it started on.
- One run per person per campaign. If a second matching event arrives while that person’s run is still active, AFP skips it.
- A page never triggers itself. Events caused by the page’s own comments are ignored, so a public reply your campaign posts cannot start another run.
If two campaigns on the same page both match the same event, both start their own execution and run independently.
A send DM node delivers plain text, an image, a card, or text with buttons, and substitutes the sender’s name into the text before sending. When a run does not produce the message you expected, test and debug the campaign or work through the troubleshooting checklist.