Connectors

Segment Connector

The Segment connector lets you use Segment software and APIs to collect, clean, and control your customer data in your PingOne DaVinci flow.

The connector sends identify, group, track, page, screen, and alias calls to Segment’s HTTP Tracking API so that you can record what users do as they journey through your flow.

Setup

Resources

You can find more information and setup help in the following:

Requirements

To use the connector, you’ll need:

  • A Segment account and workspace.

  • Your Segment write key, base 64 encoded.

  • A source in Segment to collect the data sent by your flow.

Configuring the Segment connector

Add the connector in PingOne DaVinci as shown in Adding a connector, then configure it as follows.

Connector configuration

Setting Description

Write Key

Your base 64 encoded Segment write key. Insert only the encoded write key into the field.

HTTP Tracking API Version

The version of Segment’s HTTP Tracking API. The default is v1. Only change this if the API version is out of date.

Using the connector in a flow

Collecting user data in a flow

You can use the connector to create or update users, track the actions they take, and record the pages and screens they view as they journey through a flow.

At a high level:

  1. The Identify User capability ties a user to their actions and records traits about them, such as their email or name, using the user ID you define.

  2. The Track User capability records the actions the user performs, such as a button click or an item added to a cart, using the event name you specify.

  3. The Page User Is On and Screen User Is On capabilities record the webpages and mobile screens a user views.

  4. The Identify User’s Group capability associates the user with a group, such as a company or team, using the group ID you specify.

  5. The User Alias capability merges two user identities so that two sets of user data are connected as one.

The connector doesn’t generate any output on its own. To see the HTTP response object sent by Segment, use the output variables of a capability, such as the status code, in a subsequent node.

Test the flow by clicking Save, Deploy, and Try Flow.

Capabilities

Identify User

Identify lets you tie a user to their actions and record traits about them. It includes a unique User ID and any optional traits you know about them.

Show details
  • Properties

  • Input Schema

  • Output Schema

User ID textField required

Unique identifier for the user

Traits keyValueList required

Any desired descriptive attribute(s)

  • default object

    • properties object

      • userId string/number

        Unique identifier for the user

      • genericTraits array

        Any desired general attribute

Input Example

{
  "properties": {
    "userId": "12345",
    "genericTraits": {
      "email": "user_name123@example.com",
      "phone": "720-101-1010",
      "name": "John Smith",
      "gender": "male",
      "age": "25",
      "title": "VP of Engineering",
      "birthday": "1/10/95",
      "address": "111 Yellow Brick Rd.",
      "industry": "Technology",
      "music": "rock"
    }
  }
}
  • output object

    • rawResponse object

    • statusCode number

    • headers object

Identify User’s Group

Group lets you associate an identified user with a group. A group could be a company, organization, account, project, or team. It also lets you record custom traits about the group, like industry or number of employees.

Show details
  • Properties

  • Input Schema

  • Output Schema

User ID textField required

Unique identifier for the user

Group ID textField required

Unique identifier which you recognize a group by

Traits keyValueList required

Any desired descriptive attribute(s)

  • default object

    • properties object

      • userId string/number

        Unique identifier for the user

      • groupId string/number

        Unique group identifier for a user

      • genericTraits array

        Any desired general attribute

Input Example

{
  "properties": {
    "userId": "12345",
    "groupId": "0001",
    "genericTraits": {
      "email": "user_name@pingidentity.com",
      "team": "DaVinci",
      "company": "Ping Identity",
      "industry": "Technology"
    }
  }
}
  • output object

    • rawResponse object

    • statusCode number

    • headers object

Track User

Identify lets you record the actions your users perform. Every action triggers an “event”, which can also have associated properties.

Show details
  • Properties

  • Input Schema

  • Output Schema

User ID textField required

Unique identifier for the user

Event textField required

Name of the action that the user has performed

Properties keyValueList required

Any desired descriptive attribute(s)

  • default object

    • properties object

      • userId string/number

        Unique identifier for the user

      • userEvent string

        Name of the action that the user has performed

      • genericProperties array

        Any desired general attribute

Input Example

{
  "properties": {
    "userId": "12345",
    "genericProperties": {
      "item": "Chocolate",
      "revenue": 1.99,
      "location": "Denver, CO"
    }
  }
}
  • output object

    • rawResponse object

    • statusCode number

    • headers object

Page User Is On

Lets you record page views on your website, along with optional extra information about the page being viewed.

Show details
  • Properties

  • Input Schema

  • Output Schema

User ID textField required

Unique identifier for the user

Page Name textField required

Name of the page - Reserved for future use

Properties keyValueList required

Any desired descriptive attribute(s)

  • default object

    • properties object

      • userId string/number

        Unique identifier for the user

      • pageName string

        Name of the page - Reserved for future use

      • genericProperties array

        Any desired general attribute

Input Example

{
  "properties": {
    "userId": "12345",
    "name": "Home Page",
    "properties": {
      "title": "Welcome | What We Do",
      "url": "https://www.pingidentity.com/en.html",
      "company": "Ping Identity"
    }
  }
}
  • output object

    • rawResponse object

    • statusCode number

    • headers object

Screen User Is On

Lets you record whenever a user sees a screen of your mobile app. You’ll want to send the screen message whenever a user requests a page of your app.

Show details
  • Properties

  • Input Schema

  • Output Schema

User ID textField required

Unique identifier for the user

Screen Name textField required

Name of the screen from a mobile device - Reserved for future use

Properties keyValueList required

Any desired descriptive attribute(s)

  • default object

    • properties object

      • userId string/number

        Unique identifier for the user

      • screenName string

        Name of the screen from a mobile device - Reserved for future use

      • genericProperties array

        Any desired general attribute

Input Example

{
  "properties": {
    "userId": "12345",
    "name": "Home Screen",
    "properties": {
      "title": "Welcome | What We Do",
      "company": "Ping Identity"
    }
  }
}
  • output object

    • rawResponse object

    • statusCode number

    • headers object

User Alias

The alias method is used to merge two user identities, effectively connecting two sets of user data as one. This is an advanced method, but it is required to manage user identities successfully in some of our destinations.

Show details
  • Properties

  • Input Schema

  • Output Schema

Previous User ID textField required

The existing ID you’ve referred to this user by

User ID textField required

Unique identifier for the user

  • default object

    • properties object

      • userId string/number

        Unique identifier for the user

      • previousId string/number

        The existing ID you’ve referred to this user by

Input Example

{
  "properties": {
    "previousId": "00001",
    "userId": "00002"
  }
}
  • output object

    • rawResponse object

    • statusCode number

    • headers object

Make Custom API Call

Define a custom API call to Segment’s HTTP Tracking API.

Show details
  • Properties

  • Input Schema

  • Output Schema

Endpoint textField required

Use an HTTP Tracking API endpoint, such as "identify, track, page, screen, group, or alias".

User ID textField required

Unique identifier for the user

Method dropDown required

The HTTP Method.

  • GET

  • POST

  • PUT

  • DELETE

  • PATCH

Traits / Properties keyValueList

Key-value pairs that are used to define any desired characteristics about a certain endpoint call.

Headers keyValueList

Add HTTP headers and provide their values.

Body codeEditor

The raw custom JSON body

  • default object

    • properties object

      • endpoint string required

        Endpoint

      • userId string/number

        Unique identifier for the user

      • method string required

        Method

      • queryParameters array

        Parameters

      • headers array

        Headers

      • body object

        Body

  • output object

    • rawResponse object

    • statusCode number

    • headers object