PublicViews

Guide

How to share an Attio list

Attio has no way to show a list to someone outside your workspace. This is how you do it with PublicViews, start to finish, and what to check before you send the link.

What Attio can and cannot do here

Attio’s help centre is direct about it. Restricting a member to a single list needs their Pro plan, and even then the person “would still be able to see all records across your workspace”. So the two native options are a seat that shows more than you meant, or an export that is wrong by Thursday. The comparison, with prices and their words, is on the Attio seats page.

1. Connect the workspace

Sign up and connect Attio over OAuth. We read the lists and objects your Attio account can see, which means a view can never contain something you could not already open yourself.

One thing to know at this screen: a single registered Attio app has one fixed scope set, so the consent screen asks for write access even if every view you ever publish is read-only. We enforce read-only in our own layer instead. It is on the security page in more detail, and on the connect screen in the same words.

2. Pick the source

Either an Attio list, or an object with a filter. A filter is the better choice when the audience is one client: filter the deals object to that client’s records rather than maintaining a list by hand. Membership follows the filter, so a record that starts matching appears on the page at the next check and a record that stops matching comes off it.

Watch the negated operators. In Attio, is not also matches records where the field is empty, so “stage is not Lost” publishes every record with no stage set. The filter builder says so next to the operator, and the record count under it is the fastest way to notice.

3. Choose the layout, then the attributes

Table for a list somebody scans, board for a pipeline somebody reads, record for one page per record. All three are on every plan.

Then the part that matters. Every attribute starts hidden. Switch on the ones the viewer should see, drag them into the order you want, and rename any whose internal label is not the one you would use with a client. arr_2026_committed becomes Committed. Everything you did not switch on stays on our side and is never sent to the browser.

If you want the viewer to be able to change something, mark that attribute editable here. Their change will not reach Attio on its own; it waits for your approval. Keep the list short, and think hard before making an amount field editable.

4. Decide who can open it

Four locks, and they stack:

  • Unlisted link. An unguessable URL and nothing else. Fine for a public directory, thin for anything confidential, because a link that reaches one person reaches anyone they forward it to.
  • Password. Set per view. On every plan, including free.
  • Email or domain allowlist. Named addresses, or everyone at a company without listing them, with a confirmation link so the address is verified rather than typed.
  • Expiry. On a date, after a number of opens, or both. Right for anything that goes into a board pack or a diligence process.

Not all four are on every plan. The unlisted link and the password are on the free plan; the email or domain allowlist and expiry begin on a paid one, and per-viewer row scoping is higher again. A lock your plan does not carry is shown disabled with the plan it starts on named beside it, rather than hidden, and the pricing page has the full split.

One consequence to understand before you switch on viewer edits, because it runs the opposite way to how it sounds. A proposed edit is attributed to a person, so an editable view needs the email or domain allowlist, and an allowlist challenges everyone. Once one is set, every visitor is asked for an address and has to confirm it before they see a single row, including on a link you meant to leave open to anyone holding it. There is no setting that asks for an address only from the people who want to edit.

5. Read the exposure preview as your client

Publishing shows you the page itself, rendered the way your viewer will get it, with your real records and only the attributes you chose. Read it as the person you are about to send it to, not as the person who configured it. It also lists the attributes we hold and never display, such as one used to sort the page, so nothing about the arrangement is a surprise.

Then publish and copy the link. Send it once. There is no account for your viewer to create.

Afterwards

  • Freshness. The page carries the time it last updated. On a paid plan we check Attio every 5 minutes up to 500 records, every 15 minutes up to 5,000, and hourly up to 50,000. Free views check every hour. Sync now forces a check on any plan.
  • Edits. Anything a viewer proposes waits in your dashboard beside the current Attio value. Approving it writes it; we re-read the attribute first and refuse to write over a value that moved.
  • Turning it off. Pause or unpublish and the page stops resolving on the next request, and every viewer session is signed out in the same transaction, so a link somebody already had open stops working too. The cached rows stay where they are: what makes a paused view safe is that the status is checked before any data is read, not that the data went away. Your configuration is kept as well, so you can publish it again.

The three mistakes worth avoiding

An attribute with an innocent name that is not innocent, such as an internal owner or a margin. A negated filter that quietly includes every record with an empty field. And a public link where a domain gate was meant to be. All three are visible in the exposure preview, which is why it is the last screen before publish rather than a settings tab.

Try it against one real list.

The free plan covers one view of up to 500 records and does not expire. No card.

Publish your first view