SawStream for Attio

SawStream lets you display live Attio data on any website — no backend code required. Connect your workspace once, build a query over people, companies, deals, or any custom object, pick a layout (table, cards, calendar, JSON, CSV, etc.), and paste a small embed snippet. Every page load fetches fresh data from Attio.

Signing in

The admin login page is at /login. Enter your email and password and click Log in.

Contact [email protected] if you have any issues signing in.

Attio setup

SawStream connects to Attio with an Access Token. The token belongs to your Attio workspace and grants read access to the objects, attributes, and records you choose. No OAuth flow — just paste and save.

Create the Access Token
  1. In Attio, click your workspace name in the top-left → Settings.
  2. In the Settings sidebar, scroll to Developers → Access tokens.
  3. Click New access token and give it a name (e.g. "SawStream").
  4. Select Read permission on the following scopes:
    • User Management — lets SawStream display the workspace identity in the connection card.
    • Records — required to read records.
    • Object Configuration — lists objects + attributes in the query builder.
    • List Entries — required to read entries from Attio lists.
    • List Configuration — lists list configurations in the query builder.

    Attio doesn't grant per-object read scopes — once you enable Records (Read) the token can read every object in the workspace, so create separate tokens if you need to scope by object set.

  5. Click Create and copy the Access Token — Attio shows it only once.
Connect in SawStream
  1. Go to Attio in the sidebar of your SawStream admin.
  2. Paste and Save the Access Token in the textarea.
  3. Click Connect.
  4. SawStream verifies the token via Attio's /v2/self endpoint. On success, the page reloads showing Connected along with your workspace name.
An Access Token has the union of all scopes you enabled. Enable only the scopes you actually need. If a team member's token leaks, revoke it from Settings → Developers → Access tokens in Attio.
To rotate, paste a new token on the Attio settings page and click Replace Token. To remove the connection entirely, click Disconnect.

Queries

A query defines what Attio data to fetch and how to display it. Each query gets its own embed code (or URL for JSON/CSV).

Creating a query
  1. Click + New Query and pick Attio as the platform.
  2. Give the query a name. This is just for your reference.
  3. Pick an Object from the dropdown — Attio's standard objects (People, Companies, Deals, Users, Workspaces) plus any custom objects your workspace owner has created.
  4. Add the Attributes you want to display. Attio attributes can be typed (status, currency, reference, select, person name, etc.) — SawStream automatically flattens each one to a printable value (status title, formatted currency, full name, …) so they render cleanly without per-type templates.
  5. Choose a Layout. See the Layouts section.
  6. Set Per Page for pagination, or leave blank to show all records.
  7. If you want a search bar on the embed, turn on Enable Search Bar and pick which attributes to search.
  8. To make each record clickable, fill in Detail Link Template. Use {!attribute_slug} placeholders, e.g. https://example.com/contact?id={!id}.
  9. Click Save Query.
How Attio attributes flatten

Attio stores every attribute as a historical array of versions. SawStream picks the current (live) version and reduces it to a printable value:

  • Text / number / boolean → the raw value.
  • Status → the status title (e.g. "Active").
  • Select / multi-select → the option title.
  • Email / phone / domain → the address itself.
  • Person namefull_name, or first_name last_name.
  • Currency"amount CODE" (e.g. "1200.00 USD").
  • Reference → the target record_id (link via a Detail Link Template if you want clickable rows).

If SawStream sees a typed value it doesn't recognise, it passes the raw Attio value object through so you can inspect and template it yourself.

Data freshness

The Data Freshness slider controls caching. Live Data refetches on every page load. The 15-minute / 1-hour / 6-hour / 12-hour options cache results, reducing Attio API usage. Settable per query.

Editing, copying, deleting

From the Queries page: Edit opens the editor, Copy Code copies the snippet, Delete removes the query (type DELETE to confirm).

Layouts

Each query has a layout that controls how the data appears on your site.

Table

Standard data table with column headers, sortable by clicking, and a sticky first column on narrow screens.

Cards

Each record becomes a card — first attribute is the title, remaining attributes show as label/value pairs.

Grid

Tighter 3-column layout. Header band with the record name plus compact label/value rows.

Sidebar

Filter sidebar (search, checkboxes, range sliders) auto-built from your attributes, with matching records on the right.

Calendar

FullCalendar month/week/list views. Pick a date attribute for the start, a title attribute, and optionally an end date.

Custom HTML

You write a template; SawStream renders it per record. Use {!attribute_slug} placeholders.

JSON

Stable JSON URL — fetch it from any frontend, mobile app, or workflow.

CSV Download

A URL that triggers a CSV file download. Wire it to a Download button on your site.

Embedding on your site

Once you have a query, go to its detail page to get the embed code:

<div class="sawstream-section"></div>
<script src="https://sawstream.com/e/tenant/live.js?q=abcdedquerycodexyz" async></script>

Paste both lines into your website where you want the data to appear. The script tag can go anywhere on the page, including the <head>.

Targeting a specific element

By default the widget renders inside the nearest .sawstream-section div above the script. For more control, add a data-target:

<script src="https://sawstream.com/e/tenant/live.js?q=abcdedquerycodexyz"
  data-target="#my-custom-div" async></script>
JSON and CSV links

For JSON and CSV queries you'll see a plain URL instead of a snippet. The JSON URL returns data as an array of objects; the CSV URL triggers a file download.

Settings

Go to Settings in the sidebar to manage allowed origins for your embeds.

Allowed Origins

A list of domains allowed to load your embed and call the query API. Enter one domain per line, e.g. https://mysite.com. Only requests from those origins are served. Settable globally or per-query.

Leaving allowed origins blank in production means anyone can embed your query on their site.

Your account

Changing your password

Click the lock icon in the sidebar footer. New passwords must be at least 10 characters, include a number, and include a symbol.

Logging out

Click Log out in the sidebar footer.