Yes, you can run a survey in Notion: native forms work on every plan, and each answer lands as a row in a database you can filter, chart and score. I'd use a Notion form for post-project client feedback, a team pulse or a short NPS check, because the answers stay next to the project they describe. For a long research survey that needs rating widgets, ranking or matrix questions, I'd build it in Tally and send the responses to a Notion database.
Two settings decide most of what follows. The share setting decides whether you'll know who answered, and the question type decides whether Notion can average the score. Get both right before the link goes out, and reading the results takes one table view and one chart.
Build the survey form in four steps
- Create the form. On a page, type
/formand select Form. Notion creates a database behind it, plus a Respondent property for names. To collect answers in a database you already use, select + next to its views and choose Form, which needs Full access to that database. If Form isn't in the menu, you're probably in a linked view: the Notion guide to collecting responses with forms says forms are only available in the original database. - Write the questions and keep property names short. Each question becomes a database property with the same name. Toggle off Sync with property name on long questions, so "How likely are you to recommend us to a friend or colleague?" reads well on the form and lands in a property called NPS.
- Make the score question Required and put the scale in its Description, for example "0 = not at all likely, 10 = extremely likely." The scoring section below shows why Required matters.
- Preview, then test. Select Preview at the top, submit one answer yourself and check that the row arrives. Creating and customizing a form only works in the desktop and web apps; respondents can answer on desktop or mobile.
If the form also starts client work, such as an intake questionnaire that creates follow-up tasks, set it up with the Notion forms for client intake guide instead. A survey only has to collect, score and report.
Which question type fits each survey question?
Every Notion form question is also a database property. The Notion forms help describes changing the question type as "the equivalent of the property type," so pick each type by what you'll want to calculate later.
| Survey question | Question type | Setting that matters |
|---|---|---|
| How likely are you to recommend us? (0–10) | Number | Required, with the scale written in the Description |
| How satisfied are you with the project? (1–5) | Number | Required if it's your headline score |
| Which services did you use? | A question tied to a Multi-select property | A maximum number of selections when you want people to pick their top one or two |
| What should we change? | Text | Long answer on |
| Your name or company | Text | Left optional, so people can still answer without it |
| A follow-up shown only after a certain answer | Multiple choice with conditional logic | Business or Enterprise plan |
I'd collect every score as a Number. Notion's table calculations offer Average and Median only for Number properties, so a 0–10 question collected as Number gives you an average from the column menu. A Select scale looks friendlier on the form, but Average and Median won't appear for it, so you'd need a conversion step before any math.
Branching depends on the plan. According to the Notion release that added conditional logic, follow-up questions based on earlier answers are available on Business and Enterprise plans, and the forms help limits them to multiple-choice questions.
Who answered? Choose the share setting before you send the link
Whether a response carries a name depends on two controls in Share form: Who can fill out, and the Anonymous responses toggle. The forms help sets out the rules below.
| Setting | Who can answer | Name recorded? | Respondent access afterward |
|---|---|---|---|
| Anyone at your workspace with link, Anonymous responses off | Workspace members with the link; guests only if they have access to the connected database | Yes: in Respondent on a new form, or in a Created by property you add to an existing database | You choose with Access to submission: No access, Can view, Can comment, Can edit or Full access |
| Anyone at your workspace with link, Anonymous responses on | The same people | No | Access to submission isn't offered |
| Anyone on the web with link | Anyone with the link, including people who don't use Notion | No, always anonymous | Access to submission isn't offered |
| No access | Nobody: the form is closed to new responses | Not applicable | Not applicable |
That table has one consequence for client surveys. Clients usually aren't members of your workspace, so the web link is the one that reaches them, and the web link is anonymous by design. A client feedback form shared that way tells you what was said and leaves out who said it. If you need to match answers to clients, add the optional "Your name or company" question from the table above, or make it Required when you plan to follow up with every client. The form handles collection; you still have to decide whether a named answer is worth a less candid one.
If your clients are guests in your workspace, a workspace link only works for those with access to the connected database, which usually means more access than a survey needs. The Notion guest vs member guide explains what each role can open. For an anonymous team pulse, the fit is cleaner: use the workspace link with Anonymous responses on, so the form stays inside the workspace and no name is stored.
Three more sharing details. On an Enterprise plan, workspace owners can prevent forms from being shared to the web, so if the web option is missing, ask the owner. On a paid plan, a web-link form can hide the Notion branding. And a respondent who wants a copy of their answers has to log in to a Notion account or create one.

Started from a survey template? Rebuild the form in your copy
If you start from a survey template, the duplicated form carries a trap. The forms help says that when you share a form from a template you duplicated, you should "set up a separate version of the form from scratch so that all of your form responses go to you and not the original form's creator."
Keep the template's database and views if you like them. Add a fresh form to that database with + next to its views, remove the inherited form view, then send one test response and confirm the row shows up in your own database before the link goes to anyone else. One more catch for Free plan users: the Notion charts help says that if you download a template with several charts, you'll see only one of them, and only while your one free chart is still unused.
How do you score the answers?
Average and median for a 1–5 or 0–10 question
Open the table with your responses, click the score property, hover over Calculate and select Average or Median. Both appear for Number properties, which is the reason the score question should be a Number. For a small client survey I'd read the median first, because a single very low answer moves the average of a handful of responses much more than it moves the median. Count all on any column gives you the number of responses.
Net Promoter Score in three steps
Bain defines the Net Promoter Score (NPS®) on a zero-to-ten answer to "How likely are you to recommend us to a friend or colleague?" The score is the percentage of promoters, who answer 9 or 10, minus the percentage of detractors, who answer 0 to 6. The 7s and 8s are passives: they count toward the total and stay out of the subtraction.
- Label each response. Add a formula property called Group:
ifs(prop("NPS") >= 9, "Promoter", prop("NPS") >= 7, "Passive", "Detractor")ifs()returns the value for the first condition that's true, so the 9-or-higher test comes first and a 10 never lands in Passive. The Notion if and ifs formula guide covers the ordering rules. - Count the groups. Click + next to the database name, select Chart, then pick Vertical bar chart under chart type in the settings menu. Under X axis, set What to show to Group; under Y axis, choose Count. A donut works too, with Each slice represents set to Group, but the charts help warns that donut charts can't show "certain formulas," so stay with the bar chart if Group isn't offered there.
- Do the subtraction. Divide the promoter count and the detractor count by the total, then subtract the second percentage from the first.
Here's an illustrative example, not survey data. Say 20 people answer, and the chart shows 11 promoters, 5 passives and 4 detractors. Promoters are 11 of 20, or 55%; detractors are 4 of 20, or 20%. The score is 55% − 20% = 35. Behind that subtraction, every promoter counts as +100, every passive as 0 and every detractor as −100, so the score runs from −100 to 100, and any positive result means promoters outnumber detractors.

This is why step 3 of the build makes the score question Required. A blank NPS cell passes neither test in the formula and falls through to Detractor, which would pull the score down for a question nobody answered. With Required on, every form response carries a number. If you also add rows by hand, wrap the formula so blanks stay blank:
if(empty(prop("NPS")), "", ifs(prop("NPS") >= 9, "Promoter", prop("NPS") >= 7, "Passive", "Detractor"))
For a quick visual inside the table, a formula can draw each 1–5 score as stars; the Notion repeat() formula guide builds that rating display.
Read the results without a spreadsheet
Responses to a new form land in a Table view named Responses, with each question shown as a property. Three tools cover most survey reading:
- Filters and grouping. Filter NPS to 6 or lower to read every detractor's comment together, or group the table by Group to scan one bucket at a time.
- Chart drilldowns. Click a bar to see the responses behind it. Drilldowns open as tables, and ••• → Save as view in keeps one on a page. You can't edit entries from a chart view, so correct a typo in the table.
- Chart images. Save chart as… → Copy as PNG, Download PNG or Download SVG puts the chart into a client report. On a paid plan, choosing no background also removes the Made with Notion watermark.
The Free plan allows one chart, and deleting it frees the slot for another. If NPS becomes a number you track every quarter alongside other metrics, the Notion KPI tracker guide shows how to log readings and chart the trend on one page.
Follow up on low scores
I'd route low scores straight to whoever owns the client, so nobody has to remember to check the table. The automation can deliver the alert; who calls the client back, and how soon, is still your decision.
On a paid plan, create a view filtered to NPS of 6 or lower. Then click ⚡ at the top of the database → New automation, configure it to run only on that view and choose Page added as the trigger, since each response adds a new page. The Notion database automations help describes running an automation only on a filtered view; it also warns that automations may fail when the view filters out entries they need. For the action, Send notification to alerts a workspace member, and Send mail to sends an email from your Gmail account to any address, including one outside your workspace; it may take up to two minutes to arrive. The guide to Notion automation triggers, actions and exceptions covers conditions in more detail.
On the Free plan, the same help limits you to Slack notification automations, and Free users can run automations that come in a template without editing them. Without an automation, open the filtered low-score view after each survey round; it shows the same responses an alert would.
Close the survey and keep the results
To stop collecting, open Share form → Who can fill out and choose No access. To keep a copy outside Notion, export from a Table view, because the forms help says a Form view can't be exported.
For a survey you repeat, such as a quarterly NPS check, I'd keep one database and add a Round select property rather than duplicating the form. One database puts every round in one chart: set the X axis to Round, the Y axis to Count and Group by to Group, and each quarter's mix of promoters, passives and detractors sits side by side. When a round ends, close the form, filter for rows where Round is empty, set this round's name on them, then reopen the form for the next round.
A form with a very high volume of responses can load slowly. The forms help suggests creating a second version of the form or deleting older responses you no longer need; export those rounds before you delete anything.
Which survey features need a paid plan?
Notion's forms launch announcement put it plainly: "You get unlimited forms for free." The plan matters for what happens around the form.
| Feature | Free | Plus | Business and Enterprise |
|---|---|---|---|
| Create and share forms | Unlimited | Unlimited | Unlimited |
| Conditional logic on multiple-choice questions | No | No | Yes |
| Hide Notion branding on a web-link form | No | Yes | Yes |
| Chart views | One | Unlimited | Unlimited |
| Chart image without the Made with Notion watermark | No | Yes | Yes |
| Database automations for follow-up | Slack notification automations only | Yes | Yes |
| Block forms from being shared to the web | No | No | Enterprise only, set by workspace owners |
For most freelancer surveys, Free covers the essentials: unlimited forms, the anonymity settings, Average and Median, and one chart. A paid plan starts to matter when you want an automatic alert on low scores or more than one chart, and Business adds branching.
When should you use Tally instead?
I'd move a survey to Tally when the question format itself is the point. Tally has dedicated Rating, Linear scale, Ranking and Matrix fields, and its free plan includes conditional logic and calculations, payments, signatures, password protection, duplicate-submission prevention and closing a form on a limit or date. Forms and submissions are unlimited "as long as you stay within our fair usage guidelines."
The responses can still land in Notion. Tally's Notion integration is free for all Tally users with unlimited submissions, and it maps each field to a property: Rating and Linear scale arrive as Number, so the Calculate menu averages them like a native Number question. Ranking and a multiple-selection Matrix arrive as Multi-select, a default Matrix as Select, and a Signature as Files & media. Three setup details matter: databases without titles don't appear in Tally's database dropdown, the native integration doesn't fill Person or Relation properties yet, and submission times arrive in UTC. The guide to connecting a form to a Notion database walks through the setup.
I'd stay native whenever the survey fits Notion's own question types, because the response is a Notion row from the start and there's nothing to connect. Ranking or matrix questions, branching while your workspace is on Notion Free or Plus, or taking payments are the cases where Tally is the better fit.
Which setup should you start with?
Start with one native form and three questions: a Required 0–10 Number question, a Text question with Long answer for the reason, and an optional "Your name or company." Choose the share setting by the answer you need: the web link for clients, or the workspace link with Anonymous responses on for a team pulse. Send yourself one test response, check the row, then add the Group formula and a bar chart before the real link goes out. If a later survey needs ranking or matrix questions, build that one in Tally and keep the scoring in Notion.