NPS Command Center

Setup and Operations

Backend, automations, and integration health

Checking backend

Needs Attention

  • Checking the deployed environment.

Workspace Launch Checklist

Workspace accountCreate or sign into the customer workspace.
Survey builderSet company name, logo, question copy, colors, web snippet timing, and thank-you copy.
DeliveryConfirm email, SMS, Slack, source events, and outgoing webhooks.
Historical importUpload Delighted exports once before switching live traffic.

Live Status

Platform database Checking Managed by NPS Command Center for all customer workspaces.
Email sender Checking Resend API key and verified sender for automatic survey emails.
SMS sender Checking Twilio credentials for live SMS surveys and SMS Autopilot sends.
Slack delivery Checking Webhook or bot token for live response alerts and daily summaries.
Dashboard mode Checking Status has not been checked yet.

Enable delivery channels

Surveys only actually send once an email (and optionally SMS) provider is configured. Add the variables in your Vercel project environment, then redeploy.

Email (Resend) โ€” required to send surveys

  1. 1
    Create a Resend account & verify your domain

    Add SPF, DKIM, and DMARC DNS records for your sending domain so survey emails reach inboxes.

  2. 2
    Set the email variables

    RESEND_API_KEY and NPS_EMAIL_FROM (a verified sender, e.g. nps@yourdomain.com). Until both are set, invitations queue but no email is sent.

  3. 3
    Wire delivery events (recommended)

    Set RESEND_WEBHOOK_SECRET and point a Resend webhook at <APP_BASE_URL>/api/email/events so bounces and complaints auto-suppress recipients.

SMS (Twilio) โ€” optional

  1. 1
    Create a Twilio account

    Get a messaging-capable number or a Messaging Service.

  2. 2
    Set the SMS variables

    TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN, and either TWILIO_MESSAGING_SERVICE_SID or TWILIO_FROM_PHONE_NUMBER.

  3. 3
    Verify

    The SMS sender status above turns ready. SMS surveys and SMS Autopilot can now send.

WEBHOOK_SECRETSigns inbound trigger webhooks (see the Webhooks page).
CRON_SECRETRequired so scheduled jobs accept requests in production.
ADMIN_API_KEY / INTEGRATION_SECRET_KEYAdmin API auth and encryption of stored provider secrets.

Automation map

  1. 1
    Source event arrives

    Shopify, Zendesk, Gorgias, HubSpot, or another system posts customer and touchpoint data to POST /api/webhooks/events.

  2. 2
    Invitation is created or sent

    The app verifies the event, prevents duplicates with event_id, checks unsubscribe/throttle rules, then sends now or queues a delayed email or SMS.

  3. 3
    Customer clicks a score

    The signed score link hits GET /api/survey/click, records the NPS score, and redirects the customer to the feedback form.

  4. 4
    Follow-up signals fire

    New or updated responses can trigger Slack alerts, outgoing signed webhooks, and the response inbox used by the team.

Cron Jobs

Every 30 minutes /api/jobs/send-nps-invitations

Sends delayed invitations, queued retries, and non-responder reminders. Webhooks remain the primary trigger for real events.

Daily at 13:15 UTC /api/jobs/slack-daily-summary

Posts the Delighted-style 30-day NPS summary into Slack.

Every 10 minutes /api/jobs/retry-webhooks

Retries failed outgoing webhook deliveries and records final failures.

Webhook email trigger sample Posts here create an NPS invitation and send the survey email when Resend is configured.
API endpoint reference Operational endpoints and what each route owns.
GET /api/healthChecks which backend integrations are configured.
POST /api/auth/password-resetSends a workspace password reset email.
POST /api/account/membersInvites a member into the active workspace.
PATCH/DELETE /api/account/members/:idUpdates or removes workspace members.
POST /api/responses/importImports historical response exports without triggering alerts or webhooks.
POST /api/email/eventsReceives Resend email events and suppresses bounced or complained recipients.
POST /api/webhooks/eventsPrimary Delighted-style trigger for order, ticket, CRM, or custom events.
GET /api/integrationsLists the available source adapters, supported events, and missing install pieces.
GET/POST /api/integrations/connectionsLists or creates per-workspace integration connections.
POST /api/integrations/connections/:id/testValidates a saved provider signing secret or sends a test outgoing webhook.
GET /api/webhooks/deliveriesLists recent outgoing webhook delivery attempts for the workspace.
PATCH /api/webhooks/deliveries/:idAcknowledges, resets, or reopens one webhook delivery attempt.
POST /api/webhooks/deliveries/:id/retryRetries one failed or pending outgoing webhook delivery.
POST /api/webhooks/deliveries/dead-letterBulk retries or acknowledges exhausted outgoing webhook deliveries.
POST /api/integrations/testDry-runs a provider payload and shows the mapped NPS invitation fields.
POST /api/invitations/sendDirectly creates an invitation from an API call or admin workflow.
GET /api/survey/clickCaptures a signed 0-10 score click from the survey email.
POST /api/survey/feedbackAdds verbatim feedback and metadata after the score click.
GET /api/jobs/retry-webhooksRetries failed outgoing delivery attempts.