Reference · Tools

Vero

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.

Node type
Action
Parameters
26
Outputs
Output, Error
Credentials
Vero API

Vero

Manage users and track events in 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.

Category: Communication
Tool Name: vero
Version: 1

Appearance: Icon: lucide-Mail | Color: #FD6869

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
IDstringYesThe 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.
— EmailstringNoEmail 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)
— KeystringNoName of the property to set.
— ValuestringNoValue of the property to set.
Data (dataAttributesJson)jsonNoKey value pairs that represent the custom user properties you want to update (as JSON). (shown when JSON Parameters is true)

User: Alias

ParameterTypeRequiredDefaultDescription
IDstringYesThe old unique identifier of the user. Supports expressions.
New IDstringYesThe new unique identifier of the user. Supports expressions.

User: Unsubscribe

ParameterTypeRequiredDefaultDescription
IDstringYesThe unique identifier of the user. Supports expressions.

User: Re-Subscribe

ParameterTypeRequiredDefaultDescription
IDstringYesThe unique identifier of the user. Supports expressions.

User: Delete

ParameterTypeRequiredDefaultDescription
IDstringYesThe unique identifier of the user. Supports expressions.

User: Add Tags

ParameterTypeRequiredDefaultDescription
IDstringYesThe unique identifier of the user. Supports expressions.
TagsstringYesTags to add, separated by commas.

User: Remove Tags

ParameterTypeRequiredDefaultDescription
IDstringYesThe unique identifier of the user. Supports expressions.
TagsstringYesTags to remove, separated by commas.

Event: Track

ParameterTypeRequiredDefaultDescription
IDstringYesThe unique identifier of the customer. Supports expressions.
EmailstringYesThe email address of the customer. Supports expressions.
Event NamestringYesThe 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)
— KeystringNoName of the property to set.
— ValuestringNoValue 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)
— KeystringNoName of the property to set.
— ValuestringNoValue of the property to set.
Data (dataAttributesJson)jsonNoKey value pairs that represent the custom properties you want to track with this event (as JSON). (shown when JSON Parameters is true)
Extra (extraAttributesJson)jsonNoKey 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.

Usage Examples

  • 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

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

Manage Vero user profiles (create, alias, subscribe, tag) and track customer events for email marketing automation.

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 the Vero node

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 updated . Spotted something wrong? Tell us.