Pluspoint — AI local marketing platform

Automating surveys

Updated August 24, 2026

A survey invite does not have to be sent by hand. Pluspoint can fire one whenever something happens: an order is placed, a contact is created, a conversation is resolved. It can also chase people who never opened the first invite. Use this article to pick the mechanism that fits, then follow the linked guide for the details.

Before you start

  • Surveys access to choose a template, and Campaigns full access to build an automation. Campaigns is a global module: campaigns:full lets you create and edit, campaigns:restricted is view-only.
  • A survey template with Enable send surveys turned on. A template with that toggle off never appears in an automation, a campaign, the Inbox or the Send surveys drawer.
  • A connected outbound channel: SMS, Email, WhatsApp (Beta) or WhatsApp Business. Facebook Messenger, Instagram and live chat cannot send campaigns or automations.
  • A plan that includes Campaigns, for anything built on the automations canvas.
  • Contacts that carry the address the channel needs — a phone number for SMS and WhatsApp, an email address for Email. Contacts without it are skipped.

Where to find it

Choose an approach

ApproachBest forWhat starts the sendWhere you set it up
AutomationEvents Pluspoint already knows about, including events pushed in by a connected integrationA trigger event on the automation canvasCampaignsAutomated
Public APIYour own back office, booking system or e-commerce platformYour code calling POST /api/public/v2/surveysYour system, authenticated with the X-Api-Key
ZapierWiring up an app you already use without writing codeA Zap trigger in the other appSettingsIntegrationsZapier
Automatic follow-upsReminding people who received an invite but never opened itNo survey visit within the delay you setSurvey template → Sharing tab
QR code or survey linkWalk-in customers, receipts, table tents, order confirmationsThe customer scanning or clickingSurvey template → Sharing tab

Over-survey protection applies to every sending path — the Send surveys drawer, the queue behind the API and Zapier, and automation survey steps. It does not apply to QR scans, so a QR code always opens the survey.

Automations and the API are not exclusive. A common pattern is to push a Custom event from your system through the API, then use Custom event as the automation trigger. The timing, channel and conditions stay editable in the app.

Prepare the survey template

Every automatic path uses the same template settings, so do this first.

  1. Go to SurveysTemplates and open the template with the edit icon.
  2. Open the Sharing tab.
  3. Turn on Enable send surveys.
  4. Fill in Message template. This is required and is the text used for SMS and WhatsApp (Beta) invites.
  5. For the Email channel, fill in Email subject. If you leave it blank, Pluspoint generates a subject from the location or brand name.
  6. Optionally turn on Send automatic follow-ups, choose a Delay of 1 to 7 days and write the Follow-up message.
  7. Set Over-survey protection to the shortest window you are comfortable with. This stops the same person receiving repeated invites.
  8. Click Save.

Supported placeholders in the message and follow-up text are [name], [last_name] and [location]. On a brand template, [location] resolves to the brand title. Do not type [link] — Pluspoint appends the survey URL for you and strips any literal [link] you write. Any other [token] blocks the send with “Unsupported placeholder(s)”.

Build an automation that sends a survey

  1. Go to CampaignsAutomated and click Create automation.
  2. Give it a name. An unnamed automation cannot be saved.
  3. Click the Trigger node. In the right-hand panel choose one or more Trigger event(s). Selecting several means the automation fires when any of them occurs. When more than one happens, timing is counted from the latest event.
  4. Optionally turn on Once per contact so a contact who has already finished, exited or failed this automation is never enrolled again. Leave it off and the contact re-enters every time the event fires. Either way, a contact who is still part-way through the flow is never enrolled a second time.
  5. Optionally add conditions under Who can enter. Leave it empty and everyone who triggers the automation enters.
  6. Click the + on the edge below the trigger, then choose Send survey under Send.
  7. Pick a Channel and a Survey. Only templates with sending enabled are listed.
  8. Finish the channel-specific part:
    • Email — pick an email design from the Library that carries a Survey link button.
    • WhatsApp Business — pick an approved WhatsApp template whose URL button is a survey link.
    • SMS and WhatsApp (Beta) — nothing more to fill in. The survey’s own Message template is used.
  9. To delay the invite, click the + above the send step and add a Wait, then set a number and a unit of minutes, hours or days.
  10. Click Save.
  11. Back on the Automated list, switch Enabled on.

Note A saved automation is a draft and sends nothing until you turn Enabled on. Switching it on re-validates the whole graph strictly — every template and channel it uses has to be usable at that moment.

Getting the timing right

A Wait placed directly after the Trigger is measured from the trigger event’s own timestamp, not from the moment the engine reaches it. That is what makes “send the survey 3 days after the visit” land exactly 3 days after the visit. Every other wait in the flow is measured from when the engine gets to it.

Turning on an automation whose first step is a wait also back-fills. The enrollment scan widens to that wait’s length, so contacts whose event happened within that window are picked up and scheduled at event time plus the delay.

Trigger events

Trigger eventFires when
Contact createdA contact record is created — by import, manually, from a widget, from a survey or through the API
Survey respondedA contact submits a survey
Survey sentA survey invite goes out
Conversation resolvedAn Inbox conversation is closed
Review leftA review that can be attributed to the contact arrives
Custom eventYour system posts an event to POST /api/public/v2/custom-events
Coupon redeemedThe contact redeems a coupon
CoverManager reservationA CoverManager reservation is imported. Listed only when the CoverManager integration is connected
VTEX orderA VTEX order is imported. Listed only when the VTEX integration is connected

When Custom event is selected, an extra Custom event type (optional) field appears. Leave it empty to react to any custom event, or type one event type to match it exactly.

Send surveys from your own system

The public API queues an invite exactly as the app does, so over-survey protection, unsubscribe checks and contact matching all still apply.

  • Base URL: https://app.pluspoint.io/api/public/v2
  • Auth header: X-Api-Key, copied from SettingsAccount
  • Reference documentation: https://docs.pluspoint.io

POST /surveys body fields:

FieldRequiredNotes
locationIdYesInteger. The location the survey is sent for
surveyTemplateIdYesThe template’s external ID or GUID. Get it from GET /survey-templates
channelIdYesGUID. Get it from GET /channels
firstNameNoUsed to personalise [name]
lastNameNoUsed to personalise [last_name]
phoneNumberConditionalRequired and validated for SMS and WhatsApp channels
emailConditionalRequired for the Email channel
delayNoHours to wait before sending, 0 or greater
whatsAppTemplateIdConditionalRequired for a WhatsApp Business channel. Get it from GET /channels/{channelId}/whatsapp-templates with hasButtons=true and linkType=survey

Other useful endpoints on the same base URL: GET /survey-templates lists templates with their questions, POST /survey-responses pushes in a response collected somewhere else, and GET /survey-responses reads responses back out.

When the invite actually goes out

Nothing here is instantaneous. Plan your delays around these cadences.

PathWhat to expect
Automation sendsGo out within a few minutes of the trigger, plus any wait you set
Survey queue (API, Zapier and bulk sends)Sends for the same channel and template are spaced at least 30 seconds apart; unofficial WhatsApp is spaced roughly 30 to 60 seconds and rolls over to the next day after 200 messages
Automatic follow-upsGo out about once an hour after the delay expires, and only when the survey was never opened
VTEX order importOnce a day at 12:00 UTC, covering the previous day’s orders

What can stop an automatic survey

SituationWhat happens
The contact is unsubscribedThe send is refused. In an automation the enrollment exits at the next send step
Over-survey protection is still inside its windowThe send is skipped silently and the contact moves on to the next step
The contact has no phone number or email for that channelThe step is skipped and the flow carries on
The channel is not readyThe step is retried in 30 minutes. While a channel is out of the ready state, every automation with a step on it is marked failed, and they recover when the channel reconnects
A WhatsApp Business template loses approvalAutomations using it are paused automatically and running campaigns using it are marked failed
The plan stops including CampaignsActive automations are switched to paused. They are not switched back on automatically when the plan returns
The account is over its location or user quotaCampaign sends are blocked even though the plan includes Campaigns. Due enrollments are parked for 30 minutes at a time and resume once billing is healthy — nothing is lost
An enrollment sits unprocessed for longer than the flow’s total waits plus 90 daysIt exits without sending, so nobody gets a months-late message

Troubleshooting

SymptomCauseFix
The template is missing from the Survey dropdownEnable send surveys is off on that templateOpen the template, go to the Sharing tab and turn the toggle on
Send survey is missing from the add-step panelYou have no Surveys module accessAsk an account admin to grant Surveys access to one of your teams
The Enabled switch is off and greyed outThe automation hit an unrecoverable step errorOpen it, fix the highlighted step, save (which clears the failed flag) and switch it on again
The automation is enabled but nobody is enrolledThe trigger events happened before it was switched on, or the contacts are unsubscribed, or none of them has an address for the send channelEnrollment only looks forward from a recent window. Verify the channel type matches the data your contacts actually have
Everything sends, but a specific person never gets an inviteOver-survey protection already covered them, or they are unsubscribedCheck the contact’s activity timeline and lower the over-survey window on the template if it is too wide
The whole Campaigns section shows an upgrade pageThe plan does not include CampaignsUse the survey link, a QR code or the Send surveys drawer, or upgrade the plan
Save is rejected because the flow is too bigAn automation is capped at 100 stepsSplit the flow into two automations
Book your Pluspoint demo