← Back to Blog

Your FDD Agent Didn't Fire: A CRM Integration Log Checklist for Franchise Dev Teams

November 4, 2026 · 7 min read

TL;DR

  • A stage-specific agent that does not fire after a CRM stage change means a candidate is sitting in silence at the exact moment the conversation should be moving forward.
  • The most common causes are a payload mismatch, a failed webhook delivery, a timing gap between sync and trigger, or a stage name that changed on the CRM side without a corresponding update in FranFunnel.
  • Four log checks — delivery receipt, payload match, trigger condition, and agent activation — isolate most failures in under ten minutes.
  • FranFunnel's client solutions team handles the fix when the check identifies the break; you do not rebuild the workflow yourself.

When a stage-specific pipeline agent does not fire after a CRM stage change, a candidate sits in silence at the exact moment the conversation should be moving forward. The intro call just got booked, the stage flipped to Application, and the application follow-up agent was supposed to pick up — but nothing went out. That is not a minor system hiccup. That is a candidate losing momentum while your team assumes the automation is handling it.

Here is what to check, in order, so you find the break fast.

Confirm the Webhook Actually Delivered

Before you investigate FranFunnel, confirm that your CRM sent the signal in the first place. Every CRM that integrates with FranFunnel via webhook or API — GHL, FranchiseSoft, Zoho, Salesforce, HubSpot, FranConnect, and others — logs outbound webhook attempts. Find the delivery log for the specific record and the timestamp of the stage change.

Look for the HTTP response code. A 200 means FranFunnel received the payload. A 4xx means the request was malformed or the endpoint rejected it — usually a misconfigured URL or an authentication issue. A 5xx means FranFunnel received it but something failed on intake. If there is no log entry at all, the CRM never attempted the delivery. That means the webhook rule is either inactive, scoped to a pipeline or record type that excluded this lead, or limited to a user role that the rep who made the stage change did not hold.

No delivery receipt means the problem is upstream of FranFunnel entirely. Fix the webhook rule before you look anywhere else.

Check Whether the Payload Matches the Trigger Condition

A delivered webhook is not the same as a matched trigger. FranFunnel listens for a specific field and value in the payload — most commonly the stage name or stage ID exactly as it was entered during your onboarding build.

Pull the payload from the delivery log and compare the stage field to what FranFunnel is configured to listen for. The two most common mismatches are a stage that was renamed in the CRM after the integration was built, and a stage that belongs to a different pipeline than the one the trigger covers. If your CRM uses numeric stage IDs alongside display names, confirm which one the payload is sending and which one FranFunnel is matching against.

This is the check that catches the most failures on franchise development teams. Someone renames "FDD Sent" to "FDD Delivered" in Zoho because it reads better in reports. The CRM sends the new name. FranFunnel is still listening for the old one. The payload arrives, nothing matches, and the FDD agent never opens. The candidate who just received their FDD gets no follow-up during the 14-day review window — the highest-attrition stretch in the entire pipeline.

"44% of franchise brands never send a personal reply — an automated acknowledgment, or nothing at all." — FranFunnel Franchise Lead Response Time Study · 530 brands · fielded March–April 2025

That figure is about first contact, but the same logic applies mid-funnel. A candidate who filed an application or received an FDD and then heard nothing has no way to know whether your team is engaged. Silence reads as disinterest at every stage.

Check the Trigger Condition in FranFunnel

With the payload confirmed and the stage name matched, check the trigger condition itself inside FranFunnel. Your client solutions manager can pull this directly. The trigger specifies which pipeline, which stage name or ID, and sometimes which lead source or sub-status should activate the agent.

Three things to verify: the trigger is active (not paused or in draft), the pipeline it covers matches the pipeline the lead is in, and there are no additional conditions — like a lead score threshold or a specific lead source tag — that this lead did not meet.

A trigger that was set up for one pipeline and then the team added a second pipeline for a different market or brand line is a common failure point for franchise development teams managing more than one brand through the same CRM. The stage changed, but the lead was in the wrong pipeline for that trigger.

FranFunnel web app showing the FDD agent in a text thread: it tells the candidate their Franchise Disclosure Document was sent, explains the federally required 14-day review window, and answers a question about franchisee earnings with historical figures before offering a call.FDD agent picks up the conversation after the CRM stage changes. The agent handles the 14-day window, answers candidate questions, and keeps the pipeline moving. Names changed.

Check the Agent Activation Log

If the webhook delivered, the payload matched, and the trigger condition looks correct, check the agent activation log. This is different from the delivery log — it shows whether FranFunnel opened a session for this lead and which agent it assigned.

If the log shows no session opened, the trigger condition still did not match in practice even if it looks correct on paper. Bring the payload and the trigger config to your client solutions manager side by side — the discrepancy is usually a whitespace issue, a capitalization difference, or a field path that changed in a CRM update.

If the activation log shows a session but no outbound text, the agent launched and then stopped. The common reasons are a suppression rule — the lead had already received a message in the last N hours — an opted-out phone number, or an existing active session for the same lead from a previous stage that was never closed. An existing open session takes precedence; the new agent will not launch on top of it.

What to Do While You Investigate

A rep can send a manual message into any thread at any time. The moment the rep texts by hand, the agent for that stage stands down and the rep is driving the conversation. If a candidate is waiting — mid-application, mid-FDD window, confirmed for Discovery Day — do not let them sit while you trace the integration failure. Have a rep send a message, pick up the conversation, and document what you found in the log so your FranFunnel client solutions manager can resolve the trigger issue on the back end.

The next stage transition will launch the correct agent cleanly from that point forward once the fix is in place.

What You Do Not Have to Fix Yourself

FranFunnel builds and maintains the stage agents for your team. You do not rebuild workflows, re-register triggers, or rewrite prompt logic. When the four-check sequence above identifies the break — delivery failure, payload mismatch, trigger condition gap, or activation suppression — that information goes to your client solutions manager and the fix is a configuration change on FranFunnel's side. Bring the cleaner information and the turnaround is faster. That is the arrangement, and it does not change because a stage got renamed or a CRM update shifted a field path.

Your job is to know where to look and what to send. The build is ours.

Book a demo at franfunnel.com to see how stage-specific agents work inside your existing CRM — and what the client solutions team builds and maintains for you from day one.

Frequently asked questions

The most common reasons are a webhook that did not deliver, a payload that does not match the trigger condition FranFunnel is listening for, or a stage name that was renamed in the CRM without updating the trigger in FranFunnel. A sync delay can also cause the activation log to show no event if you check it too soon after the stage change. Start with the delivery receipt in your integration log before assuming the agent itself is broken.

Look for the HTTP response code first. A 200 means FranFunnel received the payload. A 4xx means the request was malformed or the endpoint rejected it. A 5xx means FranFunnel received it but something failed on intake. If there is no entry at all, the CRM never sent the webhook — check whether the stage change actually triggered the webhook rule, or whether the rule is scoped to a specific pipeline, record type, or user role that excluded this change.

Yes, and it is one of the most common causes of a silent agent failure. FranFunnel listens for the exact stage name or stage ID that was set up during your onboarding build. If someone renames a stage in GHL, FranchiseSoft, Zoho, or any other CRM without updating the trigger condition in FranFunnel, the payload arrives but the trigger does not match and the agent does not launch. Contact your FranFunnel client solutions manager to update the trigger whenever a stage is renamed.

Check the agent activation log in FranFunnel, not just the webhook delivery log. A delivered webhook shows the signal arrived. The activation log shows whether the trigger condition was met and whether the agent opened a session for that lead. If the webhook shows delivered but the activation log shows no session, the trigger condition did not match — usually a payload field mismatch or a stage name discrepancy. If the activation log shows a session but no outbound text, the agent may have evaluated the lead and found a suppression rule, an opted-out number, or an already-active session for that lead.

Run the four-check sequence in your integration logs to identify where the break is — delivery, payload, trigger match, or activation. Then bring that finding to your FranFunnel client solutions manager. FranFunnel builds and maintains the stage agents for you, so the fix is a configuration change on our side, not a workflow you rebuild yourself. The cleaner the information you bring, the faster the turnaround.

Yes. A rep can send a manual message into any thread at any time. The moment the rep sends a message, the agent for that stage stands down and the rep is driving the conversation. This is the right call when a candidate is waiting and you are still investigating the trigger failure. Once the integration issue is resolved, the next stage transition will launch the correct agent cleanly from that point forward.

Every Stage Covered

Follow-up that moves with the lead, stage by stage.

Change a stage in your CRM and the right follow-up starts, from intro call to Discovery Day. A rep can step in any time, and the agent for that stage stops the moment they do.

Get a Demo