Genialcloud Sales Signal

Survey Signal Developer Guide

Integrate Survey Signal delivery into external systems using the dedicated bearer-token API for single-recipient and bulk survey sending.

Overview

Survey Signal exposes a dedicated external delivery API so another system can trigger survey email sends without entering the Survey Signal UI. The calling system provides the target survey ID plus recipient data, and Survey Signal creates the unique recipient link and sends the email immediately.

Security model

The external Survey Signal API uses an admin-generated bearer token. The token is managed in Survey Signal App Control and should be shared only with approved developers or systems.

Default behavior

The API sends the survey immediately. No manual step inside Survey Signal is required after the API request succeeds.

Authentication

All external Survey Signal API requests must include the admin-generated bearer token.

Authorization: Bearer <survey_signal_api_key>

Single Send Endpoint

POST /api/external/survey-signal/send
Content-Type: application/json
Authorization: Bearer <survey_signal_api_key>

{
  "survey_id": 123,
  "name": "Mario Rossi",
  "email": "mario.rossi@example.com",
  "internal_reference": "TCK-2026-00451",
  "theme_key": "corporate"
}

Use internal_reference when the calling system needs to keep an internal ticket, case, or CRM reference linked to that specific send. Use theme_key only when a caller needs to override the survey default for that one send. When omitted, Survey Signal uses the theme configured on the survey itself.

Bulk Send Endpoint

POST /api/external/survey-signal/send/bulk
Content-Type: application/json
Authorization: Bearer <survey_signal_api_key>

{
  "survey_id": 123,
  "theme_key": "dark",
  "skip_existing": true,
  "recipients": [
    {
      "name": "Mario Rossi",
      "email": "mario.rossi@example.com",
      "internal_reference": "TCK-2026-00451"
    },
    {
      "name": "Anna Bianchi",
      "email": "anna.bianchi@example.com",
      "internal_reference": "CASE-1182"
    }
  ]
}

Bulk send creates one unique Survey Signal send per valid recipient. Existing recipients can be skipped automatically when skip_existing is set to true.

Response Behavior

Expected Success Payloads

{
  "ok": true,
  "survey_id": 123,
  "send_id": 456,
  "delivery_status": "sent",
  "public_url": "https://survey.example.com/survey/public/...",
  "internal_reference": "TCK-2026-00451",
  "theme_key": "corporate"
}
{
  "ok": true,
  "survey_id": 123,
  "total_rows": 2,
  "sent_rows": 2,
  "failed_rows": 0,
  "invalid_rows": 0,
  "duplicate_rows": 0,
  "skipped_existing_rows": 0,
  "results": [
    {
      "name": "Mario Rossi",
      "email": "mario.rossi@example.com",
      "internal_reference": "TCK-2026-00451",
      "status": "sent",
      "send_id": 456,
      "public_url": "https://survey.example.com/survey/public/..."
    }
  ]
}

Integration Notes