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.

Getting started

Before configuring InMoment as a destination in RudderStack, verify if the source platform is supported by InMoment by referring to the table below:

Connection ModeWebMobileServer
Device mode---
Cloud modeSupportedSupportedSupported
To learn more about the difference between cloud mode and device mode in RudderStack, refer to the RudderStack Connection Modes guide.

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.
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.
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)
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
RudderStack also updates the user properties if they are present in the event.
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",
},
},
}
);
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)
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)
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, as shown:
InMoment dashboard

Contact us

For more information on the topics covered on this page, email us or start a conversation in our Slack community.

On this page