InMoment (formerly Wootric)

Send your event data from RudderStack to InMoment.

InMoment (formerly Wootric) is a cloud-based customer feedback management platform that helps product, customer success, and marketing leaders to improve the customer experience.

RudderStack supports InMoment as a destination where you can seamlessly send your event data.

Connection compatibility

Destination info
  • Status: Generally Available
  • Supported sources: Android, iOS , Web, Unity, AMP , Cloud, React Native , Flutter, Cordova, Warehouse, Shopify
  • Refer to it as WOOTRIC in the Integrations object.

Connection modes
SourceCloud modeDevice modeHybrid mode
AMPsupportednot supportednot supported
Androidsupportednot supportednot supported
Cloudsupportednot supportednot supported
Cordovasupportednot supportednot supported
Fluttersupportednot supportednot supported
iOSsupportednot supportednot supported
React Nativesupportednot supportednot supported
Shopifysupportednot supportednot supported
Unitysupportednot supportednot supported
Warehousesupportednot supportednot supported
Websupportednot supportednot supported
Supported message types
SourceIdentifyPageTrackScreenGroupAlias
Cloud mode
Supported sourcessupportednot supportedsupportednot supportednot supportednot supported

Get started

Once you have confirmed that the source platform supports sending events to InMoment, follow these steps:

  1. From your RudderStack dashboard, add a source. Then, from the list of destinations, select Wootric.
  2. Assign a name to the destination and click Continue.

Connection settings

To successfully configure InMoment as a destination, you will need to configure the following settings:

InMoment connection settings
  • Username: Enter the email you use to log in to your InMoment account.
  • Password: Enter the password you use to log in to InMoment.
  • Account Token: Enter the unique account token from the InMoment dashboard by navigating to Settings > Your Account.
info
Refer to the FAQ section below for more information on getting the InMoment account token.

Identify

You can use the identify call to create or update a user in InMoment.

RudderStack follows the below approach to look up a user and update their details:

  1. If your event contains context.externalId.0.id (the Wootric user ID), RudderStack updates the user details against this ID. A sample snippet containing context.externalId.0.id is as shown:
{
  "context": {
    "externalId": [{
      "type": "wootricEndUserId",
      "id": "12345"
    }]
  }
}
  1. If context.externalId.0.id is absent, RudderStack then looks for the external_id (RudderStack’s userId) field. If it exists, RudderStack updates the user against this ID.
info
RudderStack uses InMoment’s End user lookup API to retrieve user via context.externalId.0.id and the External ID lookup API to retrieve a user via external_id. For more information, refer to the Property mappings section below.
  1. If none of context.externalId.0.id or external_id are present, RudderStack creates a new user in Wootric.

A sample identify call is shown below:

rudderanalytics.identify("1hKOmRA4GRlm", {
    email: "alex@example.com",
    phone: "+12025550146",
    name: "Alex Keener",
    city: "New Orleans",
    gender: "male",
    createdAt: "2021-01-20T13:39:21.032Z",
    timestamp: "2021-01-20T13:39:21.032Z"
});

Property mappings

The following tables list the mappings between RudderStack and InMoment events/properties based on the operation being performed:

  • Retrieve a user by external ID

    RudderStack propertyInMoment propertyPresenceData type
    userId/traits.userId/traits.id/context.traits.userId/context.traits.idexternal_idRequiredString
  • Retrieve a user by end user ID

    RudderStack propertyInMoment propertyPresenceData type
    context.externalId.0.ididRequiredString
  • Create a user

    RudderStack propertyInMoment propertyPresenceData type
    userId/traits.userId/traits.id/context.traits.userId/context.traits.idexternal_idRequiredString
    context.traits.email/traits.email/properties.emailemailOptional, if phone is present.String
    context.traits.phone/traits.phone/properties.phonephone_numberOptional, if email is present.String (Phone number with country code, for example, +12025550146)
    context.traits/traitspropertiesOptionalHash (key-value pair)
    originalTimestamp/timestamplast_surveyedOptionalString (UNIX timestamp)
    context.traits.createdAt/traits.createdAtexternal_created_atOptionalString (UNIX timestamp)
warning
At least one parameter out of email and phone is required to create a user.
  • Update a user
    RudderStack propertyInMoment propertyPresenceData type
    Retrieved ID from context.externalId.0.id if present, else from external_idend_user_idRequiredString
    context.traits.email/traits.email/properties.emailemailOptionalString
    context.traits.phone/traits.phone/properties.phonephone_numberOptionalString (Phone number with country code, for example, +12025550146)
    context.traits/traitspropertiesOptionalHash (key-value pair)
    originalTimestamp/timestamplast_surveyedOptionalString (UNIX timestamp)
    context.traits.createdAt/traits.createdAtexternal_created_atOptionalString (UNIX timestamp)

Track

You can use the track call to:

  • Create a survey response by the end user
  • Create a survey decline by the end user
info
RudderStack also updates the user properties if they are present in the event.
warning
You can use the track events only for the existing Wootric users.

RudderStack checks the message.integrations.Wootric.eventType field to determine whether to create a response or a decline.

A sample track call is shown below:

rudderanalytics.track(
    "Submit", {
        feedbackScore: 9,
        feedbackText: "Great Product!",
        ip: "127.0.0.0",
        url: "https://www.google.com/",
        createdAt: "2022-01-20T13:39:21.032Z"
    }, {
        integrations: {
            Wootric: {
                eventType: "create response",
            },
        },
    }
);
warning
You will get an error if the eventType is set to any value other than create response or create decline.

Property mappings

The following tables list the mappings between RudderStack and InMoment properties based on the end user’s survey response/decline:

  • Create a survey response
    RudderStack propertyInMoment propertyPresenceData type
    Retrieved ID from context.externalId.0.id if present, else from external_idend_user_idRequiredString
    properties.feedbackScorescoreRequiredInteger
    context.ip/request_ipip_addressRequiredText
    context.page.url/properties.urlorigin_urlRequiredText
    properties.feedbackTexttextOptionalText
    context.traits.createdAt/traits.createdAtcreated_atOptionalString (UNIX timestamp)
    context.traits/traitsend_user.propertiesOptionalHash (key-value pair)
info
If Wootric receives a new survey response request for the same user within a 24-hour window, it updates the last response. Otherwise, it creates a new survey response for the user.
  • Create a survey decline
    RudderStack propertyInMoment propertyPresenceData type
    Retrieved ID from context.externalId.0.id if present, else from external_idend_user_idRequiredInteger
    context.page.url/properties.urlorigin_urlOptionalString
    context.traits.createdAt/traits.createdAtcreated_atOptionalString (UNIX timestamp)
    context.traits/traitsend_user.propertiesOptionalHash (key-value pair)
info
If Wootric receives a new survey decline request for the same user within a 24-hour window, it updates the last decline. Otherwise, it creates a new survey decline for the user.

FAQ

Where can I find the InMoment account token?

To find the InMoment account token:

  1. Log into your InMoment account.
  2. Click the Settings icon in the top navigation bar:
InMoment dashboard

Questions? Contact us by email or on Slack