{
  "slug": "actions-jimo",
  "name": "Jimo (Actions)",
  "mode": "device",
  "description": "Load Jimo SDK and send user profile data to Jimo",
  "authentication": {
    "scheme": "custom",
    "fields": {
      "projectId": {
        "label": "Id",
        "description": "Id of the Jimo project. You can find the Project Id here: https://i.usejimo.com/settings/install/portal",
        "type": "string",
        "required": true,
        "multiple": false,
        "choices": null,
        "default": null,
        "depends_on": null
      },
      "refetchExperiencesOnTraitsUpdate": {
        "label": "Refetch experiences after traits changes",
        "description": "Enable this option if you'd like Jimo to refetch experiences supposed to be shown to the user after user traits get updated. This is useful when if you have experiences that use segment based on Segment traits.",
        "type": "boolean",
        "required": false,
        "multiple": false,
        "choices": null,
        "default": false,
        "depends_on": null
      },
      "manualInit": {
        "label": "Initialize only for identified users",
        "description": "If true, Jimo SDK will be initialized only after a Segment event containing a userID has been triggered. This prevents from having anonymous profile created in Jimo.",
        "type": "boolean",
        "required": false,
        "multiple": false,
        "choices": null,
        "default": false,
        "depends_on": null
      }
    }
  },
  "audienceConfig": null,
  "actions": {
    "sendGroupData": {
      "title": "Send Group Data",
      "description": "Send group ID and traits to Jimo",
      "platform": "web",
      "defaultSubscription": "type = \"group\"",
      "hidden": false,
      "hasPerformBatch": false,
      "syncMode": null,
      "hooks": null,
      "dynamicFields": null,
      "fields": {
        "groupId": {
          "label": "Group ID",
          "description": "The unique identifier for the group",
          "type": "string",
          "required": true,
          "multiple": false,
          "allowNull": false,
          "dynamic": false,
          "default": {
            "@path": "$.groupId"
          },
          "choices": null,
          "placeholder": null,
          "properties": null,
          "category": null,
          "depends_on": null,
          "readOnly": null,
          "hidden": null,
          "minimum": null,
          "maximum": null,
          "defaultObjectUI": null,
          "disabledInputMethods": null,
          "displayMode": null,
          "format": null,
          "additionalProperties": false
        },
        "traits": {
          "label": "Group Traits",
          "description": "A list of attributes coming from segment group traits",
          "type": "object",
          "required": false,
          "multiple": false,
          "allowNull": false,
          "dynamic": false,
          "default": {
            "@path": "$.traits"
          },
          "choices": null,
          "placeholder": null,
          "properties": null,
          "category": null,
          "depends_on": null,
          "readOnly": null,
          "hidden": null,
          "minimum": null,
          "maximum": null,
          "defaultObjectUI": null,
          "disabledInputMethods": null,
          "displayMode": null,
          "format": null,
          "additionalProperties": false
        }
      }
    },
    "sendUserData": {
      "title": "Send User Data",
      "description": "Send user ID and email to Jimo",
      "platform": "web",
      "defaultSubscription": "type = \"identify\"",
      "hidden": false,
      "hasPerformBatch": false,
      "syncMode": null,
      "hooks": null,
      "dynamicFields": null,
      "fields": {
        "userId": {
          "label": "User ID",
          "description": "The unique user identifier",
          "type": "string",
          "required": false,
          "multiple": false,
          "allowNull": true,
          "dynamic": false,
          "default": {
            "@path": "$.userId"
          },
          "choices": null,
          "placeholder": null,
          "properties": null,
          "category": null,
          "depends_on": null,
          "readOnly": null,
          "hidden": null,
          "minimum": null,
          "maximum": null,
          "defaultObjectUI": null,
          "disabledInputMethods": null,
          "displayMode": null,
          "format": null,
          "additionalProperties": false
        },
        "email": {
          "label": "User email",
          "description": "The email of the user",
          "type": "string",
          "required": false,
          "multiple": false,
          "allowNull": true,
          "dynamic": false,
          "default": {
            "@path": "$.traits.email"
          },
          "choices": null,
          "placeholder": null,
          "properties": null,
          "category": null,
          "depends_on": null,
          "readOnly": null,
          "hidden": null,
          "minimum": null,
          "maximum": null,
          "defaultObjectUI": null,
          "disabledInputMethods": null,
          "displayMode": null,
          "format": null,
          "additionalProperties": false
        },
        "traits": {
          "label": "User Traits",
          "description": "A list of attributes coming from segment traits",
          "type": "object",
          "required": false,
          "multiple": false,
          "allowNull": false,
          "dynamic": false,
          "default": {
            "@path": "$.traits"
          },
          "choices": null,
          "placeholder": null,
          "properties": null,
          "category": null,
          "depends_on": null,
          "readOnly": null,
          "hidden": null,
          "minimum": null,
          "maximum": null,
          "defaultObjectUI": null,
          "disabledInputMethods": null,
          "displayMode": null,
          "format": null,
          "additionalProperties": false
        }
      }
    },
    "sendTrackEvent": {
      "title": "Send Track Event",
      "description": "Submit an event to Jimo",
      "platform": "web",
      "defaultSubscription": "type = \"track\"",
      "hidden": false,
      "hasPerformBatch": false,
      "syncMode": null,
      "hooks": null,
      "dynamicFields": null,
      "fields": {
        "messageId": {
          "label": "Message Id",
          "description": "The internal id of the message.",
          "type": "string",
          "required": true,
          "multiple": false,
          "allowNull": false,
          "dynamic": false,
          "default": {
            "@path": "$.messageId"
          },
          "choices": null,
          "placeholder": null,
          "properties": null,
          "category": null,
          "depends_on": null,
          "readOnly": null,
          "hidden": null,
          "minimum": null,
          "maximum": null,
          "defaultObjectUI": null,
          "disabledInputMethods": null,
          "displayMode": null,
          "format": null,
          "additionalProperties": false
        },
        "timestamp": {
          "label": "Timestamp",
          "description": "The timestamp of the event.",
          "type": "string",
          "required": true,
          "multiple": false,
          "allowNull": false,
          "dynamic": false,
          "default": {
            "@path": "$.timestamp"
          },
          "choices": null,
          "placeholder": null,
          "properties": null,
          "category": null,
          "depends_on": null,
          "readOnly": null,
          "hidden": null,
          "minimum": null,
          "maximum": null,
          "defaultObjectUI": null,
          "disabledInputMethods": null,
          "displayMode": null,
          "format": null,
          "additionalProperties": false
        },
        "event_name": {
          "label": "Event Name",
          "description": "The name of the event.",
          "type": "string",
          "required": true,
          "multiple": false,
          "allowNull": false,
          "dynamic": false,
          "default": {
            "@path": "$.event"
          },
          "choices": null,
          "placeholder": null,
          "properties": null,
          "category": null,
          "depends_on": null,
          "readOnly": null,
          "hidden": null,
          "minimum": null,
          "maximum": null,
          "defaultObjectUI": null,
          "disabledInputMethods": null,
          "displayMode": null,
          "format": null,
          "additionalProperties": false
        },
        "userId": {
          "label": "User ID",
          "description": "A unique identifier for the user.",
          "type": "string",
          "required": false,
          "multiple": false,
          "allowNull": false,
          "dynamic": false,
          "default": {
            "@path": "$.userId"
          },
          "choices": null,
          "placeholder": null,
          "properties": null,
          "category": null,
          "depends_on": null,
          "readOnly": null,
          "hidden": null,
          "minimum": null,
          "maximum": null,
          "defaultObjectUI": null,
          "disabledInputMethods": null,
          "displayMode": null,
          "format": null,
          "additionalProperties": false
        },
        "anonymousId": {
          "label": "Anonymous ID",
          "description": "An anonymous identifier for the user.",
          "type": "string",
          "required": false,
          "multiple": false,
          "allowNull": false,
          "dynamic": false,
          "default": {
            "@path": "$.anonymousId"
          },
          "choices": null,
          "placeholder": null,
          "properties": null,
          "category": null,
          "depends_on": null,
          "readOnly": null,
          "hidden": null,
          "minimum": null,
          "maximum": null,
          "defaultObjectUI": null,
          "disabledInputMethods": null,
          "displayMode": null,
          "format": null,
          "additionalProperties": false
        },
        "properties": {
          "label": "Event Properties",
          "description": "Information associated with the event",
          "type": "object",
          "required": false,
          "multiple": false,
          "allowNull": false,
          "dynamic": false,
          "default": {
            "@path": "$.properties"
          },
          "choices": null,
          "placeholder": null,
          "properties": null,
          "category": null,
          "depends_on": null,
          "readOnly": null,
          "hidden": null,
          "minimum": null,
          "maximum": null,
          "defaultObjectUI": null,
          "disabledInputMethods": null,
          "displayMode": null,
          "format": null,
          "additionalProperties": false
        }
      }
    }
  },
  "presets": [
    {
      "name": "Send User Data",
      "type": "automatic",
      "partnerAction": "sendUserData",
      "subscribe": "type = \"identify\"",
      "mapping": {
        "userId": {
          "@path": "$.userId"
        },
        "email": {
          "@path": "$.traits.email"
        },
        "traits": {
          "@path": "$.traits"
        }
      },
      "eventSlug": null
    },
    {
      "name": "Send Track Event",
      "type": "automatic",
      "partnerAction": "sendTrackEvent",
      "subscribe": "type = \"track\"",
      "mapping": {
        "messageId": {
          "@path": "$.messageId"
        },
        "timestamp": {
          "@path": "$.timestamp"
        },
        "event_name": {
          "@path": "$.event"
        },
        "userId": {
          "@path": "$.userId"
        },
        "anonymousId": {
          "@path": "$.anonymousId"
        },
        "properties": {
          "@path": "$.properties"
        }
      },
      "eventSlug": null
    },
    {
      "name": "Send Group Data",
      "type": "automatic",
      "partnerAction": "sendGroupData",
      "subscribe": "type = \"group\"",
      "mapping": {
        "groupId": {
          "@path": "$.groupId"
        },
        "traits": {
          "@path": "$.traits"
        }
      },
      "eventSlug": null
    }
  ]
}
