Capturing stakeholders from a survey | Civio Engage Knowledge Base     [Skip to content](#main)  [ ![Civio Engage Knowledge Base](/civio-light.svg) ](https://engage.knowledge.civ.io)  [Product documentation](/articles) [Release notes](/releases) [Roadmap](/roadmap) [ Support portal ](https://engage.knowledge.civ.io/portal/login)   Toggle navigation      

  [Product documentation](/articles) [Release notes](/releases) [Roadmap](/roadmap) [Support portal](https://engage.knowledge.civ.io/portal/login)  

  1. [Home](/) ›
2. [Product documentation](/articles) ›
3. [Stakeholder Management](/articles?category=16) ›
4. Capturing stakeholders from a survey

 Capturing stakeholders from a survey
====================================

Updated 1 day ago · 6 min read

 Search     Search  

The **Stakeholder mapping** handler writes survey answers onto the submitter's stakeholder record, and can create the record if there is not one.

Use it for a sign-up form at an event, an expression of interest, a "keep your details up to date" form, or any survey where the answers belong on the person's record rather than only in the submission.

**This only works for submissions from signed-in users.** Anonymous submissions are skipped, and an email address typed into a survey question is never used to identify the submitter. See [Requiring a signed-in submitter](#requiring-a-signed-in-submitter) below.

How it works
------------

A **handler** is something a survey does after the submit button is pressed. Stakeholder mapping is one of the handlers available on any survey, alongside sending an email or posting to another system.

On submission, the handler:

1. Takes the email on the submitter's **signed-in account**.
2. Looks for a stakeholder whose contact email matches it, the same link described in [Users and stakeholders in SRM](/articles/users-and-stakeholders-in-srm).
3. Writes each mapped answer onto the matching field of that stakeholder.
4. Logs one entry on the stakeholder's [timeline](/articles/timeline), dated to the submission, recording which fields were written.

If no stakeholder matches and you have ticked **Create stakeholder if one doesn't exist**, one is created.

Setting up a mapping
--------------------

1. Open the survey you want to capture from and go to its **Handlers** tab.
2. Add a handler and choose **Stakeholder mapping**.
3. Under **Field mappings**, click to add a mapping row.
4. Pick the **Submission field**: the survey question to read the answer from.
5. Pick the **Stakeholder field**: where to write it.
6. Set **If not empty**: **Overwrite it**, or **Leave it (only fill if empty)**.
7. Add a row for each answer you want captured, then save the handler.

![The Stakeholder mapping handler settings with two field mapping rows, each showing a Submission field, a Stakeholder field and the If not empty control](https://engage.knowledge.civ.io/storage/s0pqTPwRrWrbp6M9GDjoOsEWgLDf5ZaIHUixC1IU.png)

### Which stakeholder fields you can write to

Stakeholder field

Notes

**Name**

Required if you want the handler to create stakeholders

**Description**

The rich-text background field on the record

**Sentiment**

The answer must match one of the sentiment options

**Influence level**

The answer must match one of the influence options

**Interest level**

The answer must match one of the interest options

Any **stakeholder custom field**

Every field you have defined for stakeholders is offered. See [Custom fields for SRM records](/articles/custom-fields-for-srm-records).

Define the custom fields you want to collect first, mirror them as survey questions, then map question to field.

**For option fields, match the wording.** Where the target is a Sentiment, Influence level, Interest level or a Drop-down / Radios / Checkboxes custom field, the answer has to correspond to one of that field's options. Matching is not case-sensitive, but the wording has to line up. If an answer matches nothing, that one mapping is skipped and the rest still apply. Word the survey question's options exactly as the target field's.

### The If not empty setting

This decides what happens when the stakeholder already holds a value in the target field:

- **Overwrite it**: the submission wins. Use it when the form's purpose is to refresh details.
- **Leave it (only fill if empty)**: the existing value wins, and the answer is only written into a gap.

**Sentiment, Influence level and Interest level are never empty.** Every stakeholder has a value for all three from the moment they are created (Medium, Medium and Neutral by default), so "Leave it (only fill if empty)" on those three always skips. A survey can only move them with **Overwrite it**.

An empty answer never wipes an existing value, whichever setting you choose.

Creating stakeholders from submissions
--------------------------------------

Tick **Create stakeholder if one doesn't exist** to have the handler create a record when the submitter has none.

- You must have a mapping onto **Name**, and the answer must not be empty. Without a name there is nothing to create.
- The new record gets whatever else you have mapped. Everything you have not mapped is left at its default, so a record created this way has **no contact card and no email** until someone adds one.
- The record has no team, so on a site using restricted teams only administrators will see it until someone assigns it. Use **Set team** on the stakeholders list to move new records into the right team. See [Filtering, columns and bulk updates in SRM](/articles/filtering-columns-and-bulk-updates-in-srm).

![The Create stakeholder if one doesn't exist checkbox on the Stakeholder mapping handler, with its help text visible](https://engage.knowledge.civ.io/storage/cIgU483OQQKVZmMC2dUSMs8GkfCK6IZyJ1Og1FzG.png)

Requiring a signed-in submitter
-------------------------------

Because identity comes from the account, the survey has to be answered by someone signed in. Set **Who can submit** on the survey to require an authenticated user.

The submitter enters their email address, receives a one-time code, and types it into the form. They are not sent away to a registration page, and an account is created for them if they do not have one, as long as user registration is not switched off. See [Magic Code Authentication](/articles/12348184230927-Magic-Code-Authentication-Quick-and-Easy-Access).

Two other conditions to know about:

- **The account email must be verified.** An account whose address has not been confirmed is skipped, and the stakeholder record shows an orange **Unverified website user** badge. Accounts created through the one-time code flow, through single sign-on, or in the dashboard are already verified; accounts brought in by an import may not be.
- **If two stakeholders share the email**, the handler writes to one of them. See [Users and stakeholders in SRM](/articles/users-and-stakeholders-in-srm).

What else happens on submission
-------------------------------

Mapping is separate from the interaction the submission creates. A signed-in submission from a matched stakeholder already produces a **Survey** interaction on their timeline, whether or not a mapping is set up. What the handler adds is the write onto the record's fields, plus one entry on the timeline naming the fields written.

A worked example: an event sign-up
----------------------------------

You are taking a stall at a conference and want the people who talk to you on the day added to SRM with their portfolio recorded.

1. In **Settings &gt; SRM &gt; Stakeholders**, add a **Drop-down** custom field called *Portfolio* with your agreed option list.
2. Build a short survey: *Your name*, *Your organisation*, *Your portfolio* (same options as the custom field).
3. Set **Who can submit** to require a signed-in user, so each submission is tied to a verified email.
4. On the survey's **Handlers** tab, add **Stakeholder mapping** with two rows: *Your name* → **Name**, and *Your portfolio* → **Portfolio**. Set both to **Overwrite it**.
5. Tick **Create stakeholder if one doesn't exist**.
6. After the event, open the stakeholders list, filter by **Portfolio**, and use **Set team** and **Edit associations** to assign the new records to a team and a group in one go.

Organisation is left off the mapping because organisations are not a mapping target. Link the organisation on the record afterwards, or add a contact card. See [Organisations](/articles/organisations).

What this does not do
---------------------

- **Anonymous submissions.** Not mapped, at all.
- **Organisations.** Not a mapping target, and no organisation is matched or created from an answer or an email domain.
- **Contact details.** Email, phone, job title and address are not mapping targets. A record created by the handler has no contact card.
- **Groups and initiatives.** Not mapping targets. Assign them in bulk after the fact.

Permissions
-----------

Adding a handler to a survey needs the submission-handler permission, held by Administrator and the Project Manager role. Defining the stakeholder custom fields the mapping writes to needs **Stakeholder Manager**. See [SRM Roles](/articles/srm-roles).

Related articles
----------------

- [Users and stakeholders in SRM](/articles/users-and-stakeholders-in-srm)
- [Custom fields for SRM records](/articles/custom-fields-for-srm-records)
- [Create and edit a survey](/articles/9182830898191-Create-and-edit-a-survey)
- [Stakeholders](/articles/stakeholders)
- [Getting your stakeholder data into SRM](/articles/getting-your-stakeholder-data-into-srm)

Was this article helpful?
-------------------------

Your feedback helps us prioritise what to rewrite.

      Yes     No  

 [    Back to Stakeholder Management ](/articles?category=16) 

 On this page 

### Still need help?

Raise a request in the support portal and track it to resolution.

 [ Submit a support request ](https://engage.knowledge.civ.io/portal/login)

Submit a support request through the [support portal](/portal) or email .

 © 2026 [Civio](https://civ.io) [Privacy Policy](/articles/privacy-policy) [Terms of Use](/articles/terms-of-use)
