Reference · Tools
Vero
Manage user profiles and track customer events in the Vero email marketing platform.
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
| Direction | Port(s) |
|---|---|
| Input | Input |
| Output | Output, Error |
Credentials
This tool requires Vero API credentials. See the Credentials Guide for setup instructions.
Resources
| Resource | Value |
|---|---|
| User | user |
| Event | event |
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
| Operation | Value | Description |
|---|---|---|
| Add Tags | addTags | Adds a tag to a users profile |
| Alias | alias | Change a users identifier |
| Create or Update | create | Create or update a user profile |
| Delete | delete | Delete a user |
| Re-Subscribe | resubscribe | Resubscribe a user |
| Remove Tags | removeTags | Removes a tag from a users profile |
| Unsubscribe | unsubscribe | Unsubscribe a user |
| Track | track | Track 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
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| ID | string | Yes | — | The unique identifier of the customer. Supports expressions like {{ $json.userId }}. |
| JSON Parameters | boolean | No | false | Whether to provide custom data attributes as raw JSON instead of key-value pairs. |
| Additional Fields | collection | No | {} | Additional fields to set on the user. |
string | No | — | Email address of the user. | |
Data (dataAttributesUi) | fixedCollection | No | {} | Key value pairs that represent the custom user properties you want to update. (shown when JSON Parameters is false) |
| — Key | string | No | — | Name of the property to set. |
| — Value | string | No | — | Value of the property to set. |
Data (dataAttributesJson) | json | No | — | Key value pairs that represent the custom user properties you want to update (as JSON). (shown when JSON Parameters is true) |
User: Alias
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| ID | string | Yes | — | The old unique identifier of the user. Supports expressions. |
| New ID | string | Yes | — | The new unique identifier of the user. Supports expressions. |
User: Unsubscribe
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| ID | string | Yes | — | The unique identifier of the user. Supports expressions. |
User: Re-Subscribe
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| ID | string | Yes | — | The unique identifier of the user. Supports expressions. |
User: Delete
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| ID | string | Yes | — | The unique identifier of the user. Supports expressions. |
User: Add Tags
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| ID | string | Yes | — | The unique identifier of the user. Supports expressions. |
| Tags | string | Yes | — | Tags to add, separated by commas. |
User: Remove Tags
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| ID | string | Yes | — | The unique identifier of the user. Supports expressions. |
| Tags | string | Yes | — | Tags to remove, separated by commas. |
Event: Track
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| ID | string | Yes | — | The unique identifier of the customer. Supports expressions. |
string | Yes | — | The email address of the customer. Supports expressions. | |
| Event Name | string | Yes | — | The name of the event to track. Supports expressions. |
| JSON Parameters | boolean | No | false | Whether to provide data and extras as raw JSON instead of key-value pairs. |
Data (dataAttributesUi) | fixedCollection | No | {} | Key value pairs that represent any properties you want to track with this event. (shown when JSON Parameters is false) |
| — Key | string | No | — | Name of the property to set. |
| — Value | string | No | — | Value of the property to set. |
Extra (extraAttributesUi) | fixedCollection | No | {} | Key value pairs that represent reserved, Vero-specific operators. Refer to the note on “deduplication” in Vero docs. (shown when JSON Parameters is false) |
| — Key | string | No | — | Name of the property to set. |
| — Value | string | No | — | Value of the property to set. |
Data (dataAttributesJson) | json | No | — | 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) | json | No | — | 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
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Max Concurrency | number | No | 10 | Maximum 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
| Mode | Behavior |
|---|---|
| stop | Halts workflow on first error |
| continue | Skips failed items, passes successful ones through |
| errorPort | Routes 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
- Create a new user with profile data
- Add tags based on user behavior
- Track key events like purchases
- 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 BusyBotLast updated . Spotted something wrong? Tell us.