Skip to main content
ElasticFunnels integrates with external call center providers to automatically push data for abandoned cart recovery, sales follow-ups, failed payment calls, subscription dunning escalation, cancellation routing, and winback (re-engagement) leads.
These are outbound data pushes to third-party providers. If you want to run your own call center with agent tools, phone orders, and commission tracking, see the Call Center Suite.

Supported Providers

Organization Callcenter

Send work to your own in-house call center module instead of an external webhook. Creates internal queue items for your agents.

HelpGrid

Full suite: abandoned carts, new sales, failed payments, subscription dunning, cancellations, and winback leads.

Tauk (Listflex)

Cart recovery and lead management via the Listflex API. Supports the full event matrix including abandoned carts.

Logicall

Full suite: enterprise abandoned-cart recovery plus sales, failed payment, and full subscription-lifecycle support.

SalesBound

Sales follow-ups, failed payments, subscription dunning, cancellation, and winback routing. Does not receive abandoned carts.

Committed Coaches

High-touch coaching, failed payments, subscription dunning, cancellation, and winback routing. Does not receive abandoned carts.

Nuyu

Sales, failed payments, subscription dunning, cancellations, and winback. Phone number is not required for sales.

What Each Provider Supports

A “Yes” in the matrix only declares what the provider can technically receive. Each event still has to be explicitly enabled on your integration — see Per-Event Configuration below. By default only Abandoned carts is enabled for HelpGrid / Logicall / Tauk. All other events are off until you turn them on.
Committed Coaches and Nuyu are purchase-endpoint providers — subscription events are sent via their sales webhook. Nuyu is outbound-only (no incoming postbacks from the provider back to ElasticFunnels).
Organization Callcenter is only enabled when an active call center exists for your organization (Settings → Call Center). Use it to keep work in-house; mix and match with external providers per-merchant if needed.

Common Use Cases

Abandoned Cart Recovery

When a customer enters their email but doesn’t complete the purchase, their data is sent to HelpGrid or Logicall after a short delay. A call center agent can then reach out to help them complete the sale. If the customer comes back and buys within the delay window, the pending abandoned-cart call is automatically cancelled.

New Order Follow-Up

After a successful purchase, order data is sent to SalesBound, Committed Coaches, Nuyu, HelpGrid, or Logicall. Ideal for high-ticket offers where a “welcome call” or “upsell call” is part of the flow.

Failed Payment Calls

When a first-time charge fails (bad card, fraud decline, AVS mismatch, etc.), the customer data — plus the full decline context — is sent to the provider after a configurable delay. If a successful sale for the same customer lands inside that delay window, the pending call is automatically cancelled, so you never call a customer who just recovered themselves.

Subscription Dunning Escalation

When a subscription renewal fails and the retry count reaches your configured escalation threshold, the failed payment data — including the gateway decline code and message — is sent to providers with subscription support. Agents can call the customer to update their payment method. If the next retry succeeds inside the delay window, the pending call is cancelled.

Cancellation Routing

When a subscription is cancelled (voluntarily or because dunning was exhausted), the data can be routed to providers for a retention call attempt.

Winback / Re-engagement

30 days after a subscription cancels, a subscription_winback event is fired with the cancel reason, original purchase details, and contact info. Providers can use this as a re-engagement lead (“we miss you, here’s X% off to come back”).

Setup

1

Create the integration

Go to Settings → Integrations. Choose your provider and enter the Webhook URL or API Keys provided by your call center account manager. Save.
2

Configure merchant filtering

Set the integration to listen to All Merchants or a specific Whitelist. Use the whitelist if you have different call centers for different products or regions.
3

Choose which events go to the call center

A call center you connect now sends only from automations: its event switches start off, and the integration page shows an Automations panel. Click Create automation (or open the Presets tab) and pick one preset per event, for example Abandoned checkout: send the lead to HelpGrid. The Events table still holds the delay and decline codes those automations use. See Send from an automation.
4

Configure per-event behavior (call centers that still send from the Events table)

In the Events table on the integration form, toggle on each event you want the provider to receive and — for failed-payment / subscription-failed events — set a delay and an optional decline-code filter. See Per-Event Configuration below.
5

Enable subscription escalation (optional)

Go to Settings → Merchants, edit your merchant, and open the Email tab. In Dunning Configuration, set Callcenter Escalation After Retry # and enable Send to Callcenter on Cancel if needed. These are merchant-level gates on top of the per-event integration config — the integration still has to have the corresponding event enabled for anything to be sent.
6

Test the connection

Use the Test Webhook button (available for most providers) to send a sample payload and verify the connection is active.
Always verify your Webhook URL with a test before going live to ensure your data is being captured correctly.

Per-Event Configuration

Each integration exposes an Events table with one row per supported event type. For each row you can configure:

Send from an automation

Instead of the Events table, you can send leads from an automation. Use it when you want to choose which contacts go to which call center, test two call centers against each other, or add steps around the call (an email first, a wait, a condition).
  1. Open Automations and create an automation with one of these triggers: On Abandoned Cart, On Failed Payment, On New Purchase, On Subscription Renewal Failed, On Subscription Cancelled or On Subscription Winback.
  2. Add the Send to call center step and pick the call center.
  3. Optional: set a Delay (minutes). Empty uses the delay from the call center’s Events table.
  4. Optional, for failed payments and failed renewals: a Decline codes list and whether to send for those codes only or for every code except them. Empty uses the call center’s own filter.
  5. Save and turn the automation on.
The step sends the trigger’s event with the same lead format the Events table uses: product names, commission, merchant and affiliate filters and the phone requirement all come from the call center’s settings. A purchase still cancels a pending abandoned-cart or failed-payment call, a paused call center still sends nothing, and the provider must support the event (see the table above: Committed Coaches, SalesBound and Nuyu do not take abandoned carts). The builder will not save a step whose call center does not take the trigger’s event: the error names the call center and the event, so pick another call center or another trigger. When a contact who got an abandoned-cart call buys, the call center gets its recovered notice as before.
One event never goes to the same call center twice. While an active automation sends an event to a call center, the Events table stops sending that event to that call center. This holds even when the step sits in one arm of a split test, so the other arm does not get the call through the Events table.
To compare two call centers, put a Split Test step before two Send to call center steps. See Automation Split Tests for how the arms are measured.
Two rules from the merchant still apply: a Test merchant sale is never sent, and On Subscription Renewal Failed only sends after the merchant’s call-center escalation retry count is reached. A test run from the builder never sends.

Move a call center to automations

A call center that already sends from its Events table keeps doing so until you move it. The Automations panel at the top of the integration page shows how it sends today and how many automations use it.
  1. Click Move to automations.
  2. Check the list: one automation for each event the call center receives today (an event whose switch is off is not moved, and an event an active automation already sends is skipped).
  3. Click Move to automations to confirm.
In one step the automations are created and turned on, and the call center’s event switches are turned off, so no lead goes out twice and none is missed. Calls already scheduled still go out. The merchant rules that applied before still apply: a cancellation goes out only from merchants with Send to Callcenter on Cancel on (no cancellation automation is created when no merchant has it on), and a failed renewal waits for the merchant’s escalation retry count. The delay, decline codes, merchant and affiliate filters stay on the integration page and the automations use them. You can then edit each automation, for example to put a split test in front of it. Call centers are moved one at a time; nothing is moved for you. When the step does not send for a contact (the call center is paused or off, its merchant filter or phone rule leaves the contact out, the decline code is filtered, or a rule above applies), the reason is kept in the call center’s dispatch log. In a split test the arm counts it as not sent, next to sent, cancelled and failed calls.

Delays & Auto-Cancellation

Delays are the mechanism that makes the system self-correcting. Two high-value cancellation flows happen automatically:
  • Purchase cancels abandoned-cart and failed-payment calls. If a customer’s email or phone matches a pending abandon or failed_payment call and a successful sale comes in inside the delay window, the pending call is marked cancelled and the provider is never contacted.
  • Successful renewal cancels pending subscription-failed calls. If a subscription_renewal_failed was queued for a customer and the next retry succeeds before the delay elapses, the pending call is cancelled.
You can monitor this in the Logs section — cancelled dispatches are labelled with the counter-event that triggered the cancellation.

Decline Code Filtering

For failed_payment and subscription_failed events, each failed charge is enriched with the full decline context from the gateway:
  • decline_reason — human-readable reason (e.g. “insufficient funds”)
  • decline_code — gateway-normalized short code (e.g. insufficient_funds, generic_decline, lost_card)
  • error_code — top-level error class (e.g. card_declined)
  • gateway_response_code / gateway_response_message — raw gateway output
Use the Decline-code filter on the event row to control which failures reach the call center:
  • Blacklist (default mode, empty list) — send every decline except the codes you list. Useful for excluding hard fails (lost_card, stolen_card, fraudulent, do_not_honor).
  • Whitelist — only send declines with the codes you list. Useful when you only want to call for specific recoverable reasons (insufficient_funds, expired_card, card_declined).
The exact code values depend on the gateway. Stripe codes are listed in Stripe’s decline_code docs; NMI returns the response text as both responsetext and response_code.

Monitoring

You can see all outbound postbacks to your call centers in the Logs section of your dashboard. Each dispatch shows:
  • Integration + event type
  • Scheduled time and actual send time
  • Status (pending, sent, cancelled, failed)
  • If cancelled — which counter-event triggered the cancellation
  • If failed — the error response from the provider
If a failed_payment call is never being dispatched, check (in order): (1) the provider’s global capability in the matrix above, (2) the Enabled toggle for that event on your integration, (3) the decline-code filter mode + list, and (4) the merchant-level Callcenter Escalation After Retry # gate if this is a subscription renewal.