Send account updated signals with the API

Send an account updated signal to Connect with the createSignals mutation. For authentication, contact mapping, consent and the response, see Send signals with the API (GraphQL).

📘

Other ways to send this signal

Web

What it captures and how to use it: Account updated signal guide (help center)

All signals and methods: Signals overview

Triggers when a change to an existing account is saved, such as new contact details, a password or MFA change, updated preferences, or a request to delete or deactivate the account. Send it after the change is saved, not on form submit.

mutation {
  createSignals(
    signals: [
      {
        appKey: "{YOUR_APP_KEY}"
        sessionId: "SESS-789456123AB"
        audience: [
          { name: "Email", value: "[email protected]" }
        ]
        signalContent: {
          signalType: "accountUpdated"
          category: "Behavior"
          name: "Account updated from customer service"
          effect: "positive"
          updateType: "contactDetails"
          updateSource: "csr"
          updateMethod: "phone"
          identifierChanged: true
          confirmationRequired: true
          reason: "email address changed"
          signalTimestamp: "2026-10-30T16:22:15.001Z"
        }
      }
    ]
  ) {
    signalIds
  }
}

Required fields

  • signalType : String - Signal type. Valid value: accountUpdated.
  • updateType : String - The kind of change. Examples: profile, contactDetails, address, preferences, password-changed, delete.

Optional fields

  • category : String - Signal category. Valid value: Behavior.
  • confirmationRequired : Boolean - Whether the contact needs to confirm the change, for example through a verification email.
  • description : String - Description of the signal.
  • effect : String - Signal engagement effect. Valid values: negative, positive.
  • identifierChanged : Boolean - Whether an identifier, such as the email address or phone number, changed.
  • mfaEnabled : Boolean - Whether multi-factor authentication is on after the change.
  • name : String (up to 256 characters) - Signal name to differentiate from other signals.
  • reason : String - Why the account was updated. Examples: email address changed, Moved, Too Frequent.
  • signalCustomAttributes : Array of objects - Additional custom attributes (each object needs name and value string fields).
  • signalTimestamp : Date - When the signal happened (if omitted, Connect uses the time the signal was received). Valid values: DateTime strings (ISO 8601). Example: 2026-10-30T16:22:15.001Z.
  • ssoProvider : String - The single sign-on provider used for the change. Examples: google, okta.
  • updateMethod : String - How the change was made. Examples: self, phone, chat.
  • updateSource : String - Where the change was made. Examples: profile-information, account-settings, preference-center, address-book, security-center, csr.
⚠️

Send true or false for Boolean fields

identifierChanged, confirmationRequired and mfaEnabled take true or false. Connect accepts other values without an error, but segments might not read them as you expect.

📘

Email changes

If no contact matches the audience values, Connect creates a new contact. When the email address itself changes, sending only the new email creates a second contact.

📘

Delete requests

updateType: "delete" records the request. It doesn't delete the contact or change their consent.