Pluspoint — AI local marketing platform

VTEX

Updated August 24, 2026

The VTEX integration imports your store’s completed orders into Pluspoint. Each imported order creates or matches a contact and writes a dated VTEX entry on that contact’s timeline. That entry is what a post-purchase automation listens for. Connect it when you want a purchase to drive a survey, a message or a coupon without exporting anything by hand.

Before you start

  • Account Settings permission set to Full — the Integrations tab is hidden from everyone else.
  • Access to your VTEX Admin, with permission to generate application keys.
  • A Pluspoint location to link the store to.
  • An active subscription that is inside its location and user limits.

Where to find it

SettingsIntegrations, or go to https://app.pluspoint.io/account-settings/integrations.

Generate an App Key and App Token in VTEX

The App Key identifies the application connecting to your store and the App Token authorises it. Pluspoint needs both, plus your account name.

  1. Log in to your VTEX Admin.
  2. Go to Account ManagementApps.
  3. Click Generate App Key and Token.
  4. Choose Internal app keys as the key type. This is the level of access Pluspoint needs.
  5. Under permissions, include the View order resource. It is part of OMS - Full access and IntegrationProfile - Fulfillment Oms. Without it Pluspoint cannot read order details.
  6. Click Generate.
  7. Copy the App Key and the App Token straight away.

Warning The App Key and App Token grant access to your VTEX store. Store them somewhere secure and do not share them beyond the person doing this setup.

Connect your VTEX store

  1. Go to SettingsIntegrations.
  2. Click Add integration and find VTEX.
  3. Click Connect.
  4. Fill in the three credential fields listed under Credential fields below.
  5. Click Connect.

Pluspoint validates the credentials before saving them. If VTEX rejects them, the connect fails with “VTEX Authentication failed” and nothing is stored.

On success the Manage integration modal opens so you can attach the account to a location.

Credential fields

FieldWhat to enter
Account nameYour VTEX account name — the store identifier that appears in your VTEX Admin URL
Application TokenThe App Token generated in VTEX
Application KeyThe App Key generated in VTEX

All three are required, and none is checked for format or length.

Orders are imported per location, so the VTEX account has to be attached to one.

  1. Open the Manage integration modal. It opens automatically after connecting, or later with the Manage button on the VTEX row.
  2. Choose Connect to location and pick the location from the Location dropdown, or choose Don’t connect to leave it unattached.
  3. Click Save.

You can do the same from the location: LocationsManage → open the location → Integrations → the VTEX row → Connect Profile.

The Location dropdown hides locations that already hold a VTEX connection, so one location can carry only one store.

How the order import works

BehaviourDetail
ScheduleOnce a day at 12:00 UTC
What is importedThe orders VTEX reports for the preceding day, for every location linked to a VTEX account. Complete orders only — incomplete orders are ignored
Contact matchingOn the buyer’s cleaned phone number, or their email address
Contact updatesMissing first name, last name, email or phone number are filled in on an existing contact; existing values are left alone
Masked emailsVTEX proxy addresses ending in .ct.vtex.com.br are unwrapped back to the real address before the contact is saved
Event recordedA VTEX order event lands on the contact’s activity timeline, which is what the VTEX order trigger listens for
Repeat customersThe order event is written only for a contact who has no integration event on their timeline yet. A returning buyer therefore does not produce a second one. Neither does a buyer whose contact already carries an event from another connected integration
SendingNone. The import records data; anything sent to the buyer comes from an automation you build
Accounts per Pluspoint accountOne. Connecting again overwrites the stored account name, key and token

Because the import is a daily batch, nothing can reach a buyer sooner than the next 12:00 UTC run after their order. Plan any delay you add on top of that.

Turn orders into a post-purchase message

Connecting the store is only the first half. To act on an order, build an automation in CampaignsAutomated — building one needs Campaigns full access and a plan that includes Campaigns.

The most common use is a post-purchase satisfaction survey:

  1. Go to CampaignsAutomated and click Create automation.
  2. Name it, for example “Post-purchase survey”.
  3. Click the Trigger node and select VTEX order under Trigger event(s). This option only appears once the VTEX integration is connected.
  4. Optionally turn on Once per contact, and optionally narrow the audience under Who can enter.
  5. Click the + on the edge below the trigger and add a Wait if you want to leave time for delivery. A wait placed directly after the trigger is measured from the order event itself. “3 days” therefore means three days after the order, not three days after the automation noticed it.
  6. Click the + again and add Send survey from the Send group.
  7. Choose the Channel and the Survey template. Only templates with Enable send surveys on are listed.
  8. If the channel is Email, pick a Library email design that has a Survey link button. If it is WhatsApp Business, pick an approved WhatsApp template whose URL button is a survey link. SMS and WhatsApp (Beta) use the survey template’s own Message template text.
  9. Click Save, then switch Enabled on from the Automated list. Until you do, the automation is a draft and sends nothing.

Automating surveys covers the automation canvas, template preparation and send timing in full.

Disconnecting VTEX

  1. On the VTEX row, click Delete. The same confirmation is available from the red Delete button inside the Manage integration modal.
  2. Confirm in the Delete integration? dialog.

The VTEX link on your location flips to Disconnected, so no further orders are imported. Contacts and activity already imported stay. Any automation using the VTEX order trigger stops receiving new entries.

Troubleshooting

SymptomCauseFix
VTEX is not in the Add integration listIt is already connectedOnly one VTEX account exists per Pluspoint account, so the row drops off the list once connected. Use Manage or Delete on the existing row
The Integrations tab is missing or greyed outYou do not have Account Settings set to Full, or the subscription has expired or exceeded plan limitsAsk an account owner or a full-access admin, or resolve the billing issue on SettingsBilling
”VTEX Authentication failed”The credentials are wrong, or the key does not have permission to read ordersGenerate a new App Key and App Token in VTEX with order-read access and try again
The location drawer says No Active Integration FoundThe account-level VTEX connection is missing or inactiveUse Go to integrations and connect VTEX first — that step needs Account Settings set to Full
A location is missing from the Location dropdownIt already holds a VTEX connectionDisconnect the store from that location first
VTEX order is missing from the automation trigger listVTEX is not connected on this accountConnect it under SettingsIntegrations
No contacts appear after connectingThe daily import has not run yet, or the location is not linkedThe job runs once a day at 12:00 UTC and reads the previous day’s orders. Confirm the link in Manage integration or on the location
Contacts arrive but nothing is sentImporting orders does not send anything on its own, or the automation is still a draftBuild an automation with the VTEX order trigger, check its Enabled switch, and look for nodes with a red border
Some buyers never receive an inviteThey are unsubscribed, have no address for the chosen channel, or are inside the template’s over-survey protection windowCheck the contact record, and review Over-survey protection on the template’s Sharing tab
A repeat buyer is not surveyed againThe order event is only written to a contact who has no integration event yetUse a different trigger, such as a Custom event posted from your own systems, if you need every order to count
Book your Pluspoint demo