Search all guides

Reference · Tools

Vero integration

Manage user profiles and track customer events in the Vero email marketing platform.

Action Communication v1

The Vero node manages user profiles — create, alias, subscribe and tag — and tracks customer events that campaigns react to. A typical build is tracking a purchase as an event so Vero can trigger the follow-up sequence without anyone exporting a list.

Works as
Action
Tool name
vero
Operations
8 — Add Tags , Alias , Create or Update , Delete , Re-Subscribe and 3 more
Parameters
26
Outputs
Output, Error
Credentials
Vero API
Official docs
Vero docs help.getvero.com

What you can build with Vero

  • Create a user profile in Vero with custom attributes.
  • Track a purchase event for a customer.
  • Add tags to segment users.
  • Unsubscribe a user from Vero emails.
  • Change a user identifier with alias.
  • Remove tags from a user profile.
  • Resubscribe a previously unsubscribed user.
  • Delete a user from Vero.

Overview

Vero is a customer engagement and email marketing platform that lets you track user behaviour and send personalised emails. This tool supports two resources: User (create/update, alias, unsubscribe, resubscribe, delete, add tags, remove tags) and Event (track). The Vero API uses form-encoded requests with an auth_token field for authentication. All operations are write-only (no list/get endpoints). The API base URL is https://api.getvero.com/api/v2.

Node Type

Action — processes input items and produces output

Input / Output

DirectionPort(s)
InputInput
OutputOutput, Error

Credentials

This tool requires Vero API credentials. See the Credentials Guide for setup instructions.

Resources

ResourceValue
Useruser
Eventevent

user covers creating, updating and managing the subscription status of your users. event tracks events based on actions your customers take in real time.

Operations

OperationValueDescription
Add TagsaddTagsAdds a tag to a users profile
AliasaliasChange a users identifier
Create or UpdatecreateCreate or update a user profile
DeletedeleteDelete a user
Re-SubscriberesubscribeResubscribe a user
Remove TagsremoveTagsRemoves a tag from a users profile
UnsubscribeunsubscribeUnsubscribe a user
TracktrackTrack an event for a specific customer

Every operation except track belongs to the User resource; track is the only Event operation.

Parameters

User: Create or Update

ParameterTypeRequiredDefaultDescription
IDstringYes—The unique identifier of the customer. Supports expressions like {{ $json.userId }}.
JSON ParametersbooleanNofalseWhether to provide custom data attributes as raw JSON instead of key-value pairs.
Additional FieldscollectionNo{}Additional fields to set on the user.
— EmailstringNo—Email address of the user.
Data (dataAttributesUi)fixedCollectionNo{}Key value pairs that represent the custom user properties you want to update. (shown when JSON Parameters is false)
— KeystringNo—Name of the property to set.
— ValuestringNo—Value of the property to set.
Data (dataAttributesJson)jsonNo—Key value pairs that represent the custom user properties you want to update (as JSON). (shown when JSON Parameters is true)

User: Alias

ParameterTypeRequiredDefaultDescription
IDstringYes—The old unique identifier of the user. Supports expressions.
New IDstringYes—The new unique identifier of the user. Supports expressions.

User: Unsubscribe

ParameterTypeRequiredDefaultDescription
IDstringYes—The unique identifier of the user. Supports expressions.

User: Re-Subscribe

ParameterTypeRequiredDefaultDescription
IDstringYes—The unique identifier of the user. Supports expressions.

User: Delete

ParameterTypeRequiredDefaultDescription
IDstringYes—The unique identifier of the user. Supports expressions.

User: Add Tags

ParameterTypeRequiredDefaultDescription
IDstringYes—The unique identifier of the user. Supports expressions.
TagsstringYes—Tags to add, separated by commas.

User: Remove Tags

ParameterTypeRequiredDefaultDescription
IDstringYes—The unique identifier of the user. Supports expressions.
TagsstringYes—Tags to remove, separated by commas.

Event: Track

ParameterTypeRequiredDefaultDescription
IDstringYes—The unique identifier of the customer. Supports expressions.
EmailstringYes—The email address of the customer. Supports expressions.
Event NamestringYes—The name of the event to track. Supports expressions.
JSON ParametersbooleanNofalseWhether to provide data and extras as raw JSON instead of key-value pairs.
Data (dataAttributesUi)fixedCollectionNo{}Key value pairs that represent any properties you want to track with this event. (shown when JSON Parameters is false)
— KeystringNo—Name of the property to set.
— ValuestringNo—Value of the property to set.
Extra (extraAttributesUi)fixedCollectionNo{}Key value pairs that represent reserved, Vero-specific operators. Refer to the note on “deduplication” in Vero docs. (shown when JSON Parameters is false)
— KeystringNo—Name of the property to set.
— ValuestringNo—Value of the property to set.
Data (dataAttributesJson)jsonNo—Key value pairs that represent the custom properties you want to track with this event (as JSON). (shown when JSON Parameters is true)
Extra (extraAttributesJson)jsonNo—Key value pairs that represent reserved, Vero-specific operators (as JSON). Refer to Vero docs on deduplication. (shown when JSON Parameters is true)

All Operations

ParameterTypeRequiredDefaultDescription
Max ConcurrencynumberNo10Maximum number of items to process concurrently.

Output Data

One output item per input item — no operation fans out. The Vero API response is merged onto the top level of the item JSON; anything already on the item passes through, and binary data is forwarded unchanged.

Vero’s endpoints are write-only and most of them acknowledge a successful call with an empty body, so the output item is often unchanged from the input. When Vero replies with something that is not JSON, the raw text lands on the item as rawResponse. A non-2xx reply fails the item instead, carrying Vero’s status code and response body in the error.

Example Configuration

Create or update a user with key-value custom properties:

{
  "type": "vero",
  "parameters": {
    "resource": "user",
    "operation": "create",
    "id": "user123",
    "jsonParameters": false,
    "additionalFields": {
      "email": "user@example.com"
    },
    "dataAttributesUi": {
      "dataAttributesValues": [
        { "key": "firstName", "value": "John" },
        { "key": "lastName", "value": "Doe" }
      ]
    }
  }
}

Create or update the same user with raw JSON properties:

{
  "type": "vero",
  "parameters": {
    "resource": "user",
    "operation": "create",
    "id": "user123",
    "jsonParameters": true,
    "additionalFields": {
      "email": "user@example.com"
    },
    "dataAttributesJson": "{\"firstName\":\"John\",\"lastName\":\"Doe\",\"plan\":\"premium\"}"
  }
}

Track a purchase event with key-value properties and a deduplication operator:

{
  "type": "vero",
  "parameters": {
    "resource": "event",
    "operation": "track",
    "id": "user123",
    "email": "user@example.com",
    "eventName": "purchase_completed",
    "jsonParameters": false,
    "dataAttributesUi": {
      "dataAttributesValues": [
        { "key": "amount", "value": "99.99" },
        { "key": "currency", "value": "USD" }
      ]
    },
    "extraAttributesUi": {
      "extraAttributesValues": [
        { "key": "deduplicate", "value": "true" }
      ]
    }
  }
}

Track the same event with raw JSON, taking values from the item:

{
  "type": "vero",
  "parameters": {
    "resource": "event",
    "operation": "track",
    "id": "{{ $json.userId }}",
    "email": "{{ $json.email }}",
    "eventName": "purchase_completed",
    "jsonParameters": true,
    "dataAttributesJson": "{\"amount\":99.99,\"currency\":\"USD\",\"product_id\":\"prod_456\"}",
    "extraAttributesJson": "{\"deduplicate\":true}"
  }
}

Tag a user for segmentation:

{
  "type": "vero",
  "parameters": {
    "resource": "user",
    "operation": "addTags",
    "id": "user123",
    "tags": "premium,active,subscriber"
  }
}

Move a user to a new identifier:

{
  "type": "vero",
  "parameters": {
    "resource": "user",
    "operation": "alias",
    "id": "old_user_id",
    "newId": "new_user_id"
  }
}

Unsubscribe a user:

{
  "type": "vero",
  "parameters": {
    "resource": "user",
    "operation": "unsubscribe",
    "id": "user123"
  }
}

Error Handling

ModeBehavior
stopHalts workflow on first error
continueSkips failed items, passes successful ones through
errorPortRoutes failed items to Error output port

Tips

This tool manages Vero user profiles and tracks customer events. It is ideal for creating, updating, aliasing, tagging, and managing subscriptions for users, or for tracking specific customer actions. The tool produces updates to user profiles and new event records within the Vero platform.

Common Patterns

User lifecycle management

  1. Create a new user with profile data
  2. Add tags based on user behavior
  3. Track key events like purchases
  4. Update subscription status as needed

Event tracking with deduplication

For critical events that should not be processed twice, set the Vero-specific operators through the Extra field — deduplicate is the one Vero documents for this.

Batch operations

Use Max Concurrency to control how many items are sent at once when a single node run handles a large list.

Frequently asked questions

What does a user lifecycle flow look like?

Create the user with profile data, add tags based on their behaviour, track key events such as purchases, and update subscription status as it changes.

What is aliasing for?

Linking an existing profile to a new identifier, which is how you keep history intact when a user's ID changes — for example after signup.

Why track events rather than just update profiles?

Because events are what campaigns trigger on. A profile field says what someone is; an event says what they just did.

Which credential does it need?

A Vero API credential.

Build with Vero

Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need Vero API credentials first.

Open BusyBot

Last reviewed . Spotted something wrong? Tell us.