The DM that keeps the promise
Lesson 3 of 7 · Module 04 · The Comment-to-Client Machine
The DM is one action in the workflow, and I almost shipped it pointed at nobody.
The first draft of our comment workflow had the reply wired as an SMS action. It looked fine in the builder. It validated clean. It published green. And it would have sent exactly zero messages.
Here is why. When someone comments on your post, the trigger creates a contact from their social profile. That contact has no phone number. It usually has no email either. An SMS action fires at a contact with no phone and goes nowhere. No error, no warning, nothing in your face. The machine runs, the tag applies, the notification fires, and the one thing the commenter was promised, the DM, never arrives. Classic GHL: the failure is silent.
I caught it reviewing the build before launch. A commenter has no phone. Where exactly is this SMS going? We deleted the SMS actions and rebuilt with the native channel actions, which is what you should use from the start: the Instagram DM action and the Facebook interactive messenger action. Those reply on the channel the comment came from, which is the only place this person exists to you yet.
Second trap, and this one is subtle. The Facebook interactive messenger action carries a fixed Default Timeout node. It is built into the action. Anything you place below it in the workflow waits on it. I want to know the second this machine fires, not after a timeout runs its course. So the internal notification goes ABOVE the DM actions. Our order: tag, then notification, then the DMs. Put your notification below the Facebook action and you will wonder why you hear about your own leads late.
Three more settings worth getting right while you are in there.
Tag every commenter the moment the trigger fires. Ours is gc-commented-atlas. Remember, the comment contact arrives without an email. The email gets captured later at the form, which means you will often end up with two records for the same human: the social contact and the lead. The tag is what keeps the social side traceable instead of becoming mystery contacts.
Allow the workflow to re-trigger. Someone who commented on this month's reel should get the DM again when they comment on next month's. It also lets you re-test without making fresh accounts.
And if you build the companion workflow for people who DM your page the keyword directly, know that the reply channel filter is single select. One trigger can watch Facebook Messenger or Instagram DM, not both. So that workflow gets two triggers, one per channel. Scope them to Facebook and Instagram only, or an SMS or email reply containing your keyword will fire it.
Proof, and the honest boundary of it. I messaged the keyword to our page from my phone. The DM came back with the link. The Facebook path is mechanically proven, live. The Instagram path gets its own live test before I will claim it works. Each channel earns its checkmark separately. That is the standard.
Next lesson: where the DM link goes, and the day I called bullshit on my own landing page.