Totango

Totango is a customer success platform. Datafly Signal sends product-usage activities and account attributes server-side through Totango’s SDR HTTP API, so health scores, SuccessPlays and usage segments reflect real usage without a browser tag.

Why route Totango through Datafly Signal

  • Records come from your server, not the browser. They reach Totango even when a tracker blocker or a failed page unload would have dropped a client-side call, and no form integration or browser tag is needed.
  • Delivery is queued and retried. Signal buffers to Kafka and retries on 429 or a transient failure rather than dropping the event; a permanent rejection goes to the dead-letter queue with the vendor’s reason.
  • One consent decision governs every destination. Totango is gated by the same consent state as the rest of your stack, so a withdrawal applies everywhere at once.

Get your Totango credentials

Find your Service ID

In Totango open Settings and copy your Service ID (for example SP-1234-01).

Generate an SDR token

In Settings > SDR Tokens generate a token.

Confirm your data centre

US services use https://sdr.totango.com/pixel.gif, EU services https://sdr-eu1.totango.com/pixel.gif.

Configuration

FieldRequiredDescription
service_idYesYour Totango Service ID. Found in Totango under Settings > SDR Settings (or Personal Access Token and Service ID). Looks like SP-1234-01.
api_tokenYesSDR security token (Settings > SDR Tokens), sent as the api-token parameter. Required: a blank token was sent as a literal placeholder.
data_centerYesThe SDR endpoint for your Totango service’s data centre: https://sdr.totango.com/pixel.gif (US) or https://sdr-eu1.totango.com/pixel.gif (EU). Required: the request is sent to this URL.
default_moduleNoModule (product area) for an activity whose event sets none. The presets set a module for every event they map; this applies to events you add. Defaults to Web.

Management UI setup

  1. Go to Integrations in the sidebar and open the Integration Library tab.
  2. Find Totango under CRM and click Install.
  3. Choose a preset, enter the fields above and click Install Integration.

Management API setup

curl -X POST http://localhost:8084/v1/admin/integration-catalog/totango/install \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Totango",
  "variant": "saas",
  "config": {
    "service_id": "your_service_id",
    "api_token": "your_api_token",
    "data_center": "your_data_center"
  },
  "delivery_mode": "server_side"
}'

What Signal sends

An example request, rendered from the saas preset for subscription_started:

GET https://sdr-eu1.totango.com/pixel.gif?api-token=sdr-token&sdr_a=Subscription+Started&sdr_m=Billing&sdr_o=acct-42&sdr_o.Contract+Value=279.98&sdr_o.Plan=Pro&sdr_o.Status=Paying&sdr_odn=Acme+Ltd&sdr_s=SP-1234-01&sdr_u=0f8fad5b-d9cb-469f-a165-70867728950e
FieldSource
sdr_sYour Service ID.
sdr_oThe account: the group() ID, else the event’s account_id, else the user ID (for accounts of one).
sdr_uYour product user ID. Required: an event without one is not sent.
sdr_odnThe account display name (account_name, else the company trait).
sdr_aThe activity: the event’s Totango name (Logged In, Subscription Started …); for feature_used, the feature’s name.
sdr_mThe module (product area): set per event; else the Default Module setting, else Web.
sdr_o.Status, sdr_o.Plan, sdr_o.Contract ValueAccount attributes on trial and subscription events. Contract Value is Totango’s named attribute for MRR or ARR, a plain number.
api-tokenYour SDR token.

Totango’s HTTP API carries every field in the URL query string, and URLs are logged by every proxy and server on the way, so Signal sends no email, name or phone to Totango. Users are keyed by your product user ID, which the API accepts as the user identifier.

Presets

PresetSignal events
B2B / SaaS (saas)page, sign_up, login, feature_used, onboarding_completed, plan_viewed, trial_started, trial_converted, subscription_started, subscription_upgraded, subscription_downgraded, subscription_cancelled, integration_connected, invitation_sent, report_viewed, export_completed, support_ticket_created
Default (default)page, sign_up, login, feature_used

Events not listed are not sent. Each preset is a starting point: add, rename or remove mappings on the installed integration.

Notes and limits

  • If your Totango users are keyed by email today, activities from Signal create users keyed by the product user ID. Align on one identifier before switching.
  • Totango returns HTTP 200 with a 1x1 GIF whether or not the request was well formed; check the account timeline.

Assign the consent category you use for this processing when you install Totango, so an event is delivered only when the visitor has granted it. Signal never writes a cookie-banner choice into Totango’s contact permissions (no consent field is sent): consent to cookies is not consent to be emailed, called or messaged. Record communication opt-in and opt-out in Totango.

Verify it’s working

  1. Open the integration in the Signal Management UI and watch Live Events while you trigger a mapped event.
  2. Confirm a 2xx response from Totango.
  3. Find the record in Totango and check it arrived.

Troubleshooting

SymptomResolution
No activity on the timelineCheck the Service ID and that the endpoint matches your service’s data centre.
Usage fragmented across accountsSend a stable account ID with group() or account_id.
401 / 403The SDR token is wrong.