{
  "slug": "actions-vwo-web",
  "name": "VWO Web Mode (Actions)",
  "mode": "device",
  "authentication": {
    "scheme": "custom",
    "fields": {
      "vwoAccountId": {
        "label": "VWO Account ID",
        "description": "Your VWO account ID, used for fetching your VWO async smart code.",
        "type": "number",
        "required": true,
        "multiple": false,
        "choices": null,
        "default": null,
        "depends_on": null
      },
      "settingsTolerance": {
        "label": "Settings Tolerance",
        "description": "The maximum amount of time (in milliseconds) to wait for test settings before VWO will simply display your original page.",
        "type": "number",
        "required": false,
        "multiple": false,
        "choices": null,
        "default": 2000,
        "depends_on": null
      },
      "libraryTolerance": {
        "label": "Library Tolerance",
        "description": "The maximum amount of time (in milliseconds) to wait for VWO’s full library to be downloaded before simply displaying your original page.",
        "type": "number",
        "required": false,
        "multiple": false,
        "choices": null,
        "default": 2500,
        "depends_on": null
      },
      "useExistingJquery": {
        "label": "Use Existing JQuery",
        "description": "If your page already includes JQuery, you can set this to “true”. Otherwise, VWO will include JQuery onto the page for you. VWO needs JQuery on the page to function correctly. ",
        "type": "boolean",
        "required": false,
        "multiple": false,
        "choices": null,
        "default": false,
        "depends_on": null
      },
      "addSmartcode": {
        "label": "Add Asynchronous SmartCode",
        "description": "When enabled, Segment will load the VWO SmartCode onto the webpage. When disabled, you will have to manually add SmartCode to your webpage. The setting is enabled by default, however we recommended manually adding SmartCode to the webpage to avoid flicker issues.",
        "type": "boolean",
        "required": false,
        "multiple": false,
        "choices": null,
        "default": true,
        "depends_on": null
      }
    }
  },
  "audienceConfig": null,
  "actions": {
    "trackEvent": {
      "title": "Track Event",
      "description": "Sends Segment's track event to VWO",
      "platform": "web",
      "defaultSubscription": "type = \"track\"",
      "hidden": false,
      "hasPerformBatch": false,
      "syncMode": null,
      "hooks": null,
      "dynamicFields": null,
      "fields": {
        "eventName": {
          "label": "Name",
          "description": "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
        },
        "properties": {
          "label": "Properties",
          "description": "JSON object containing additional properties that will be 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
        }
      }
    },
    "identifyUser": {
      "title": "Identify User",
      "description": "Sends Segment's user traits to VWO",
      "platform": "web",
      "defaultSubscription": "type = \"identify\"",
      "hidden": false,
      "hasPerformBatch": false,
      "syncMode": null,
      "hooks": null,
      "dynamicFields": null,
      "fields": {
        "attributes": {
          "label": "Attributes",
          "description": "JSON object containing additional attributes that will be associated with the user.",
          "type": "object",
          "required": true,
          "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
        }
      }
    }
  },
  "presets": [
    {
      "name": "Track Event",
      "type": "automatic",
      "partnerAction": "trackEvent",
      "subscribe": "type = \"track\"",
      "mapping": {
        "eventName": {
          "@path": "$.event"
        },
        "properties": {
          "@path": "$.properties"
        }
      },
      "eventSlug": null
    },
    {
      "name": "Identify User",
      "type": "automatic",
      "partnerAction": "identifyUser",
      "subscribe": "type = \"identify\"",
      "mapping": {
        "attributes": {
          "@path": "$.traits"
        }
      },
      "eventSlug": null
    }
  ]
}
