Docs
EN
Sign up

Attio integration

Generate invoices, proposals, quotes, and other PDFs from an Attio record using a published ShipPDF template. Map record attributes into template fields, save the mapping for reuse, enter additional details and line items, then download the generated PDF or save a copy to the record’s Files tab.

Before you start

You need a ShipPDF account with API access and enough generation credits, a published template, and an Attio workspace. An Attio workspace admin configures the shared ShipPDF connection for the team.

Important: design your template to match your CRM data. Define fields with compatible value types for the Attio record attributes you plan to map, and add repeating sections for any line items you will enter.

Create and publish your template in ShipPDF before using it in Attio. The Attio app uses the published template revision; publish your changes before loading updated fields. See Create your template and Data Schema and Default Data.

Example template in ShipPDF

This guide uses CRM Sales Proposal — Studio North, a template with two explicit pages designed in the ShipPDF editor: 1. Overview and 2. Budget. The canvas contains each page’s layout and data-field placeholders; the Data Fields panel shows the fields and collections available for mapping in Attio.

1. Overview

ShipPDF editor showing the Project overview page of CRM Sales Proposal — Studio North, with title and client placeholders, a repeating proposal.services section, deliverables, and the Data Fields panel
Explicit page 1: Overview. Client and proposal fields fill the introduction, and proposal.services repeats the scope of work.

The Overview page, named Project overview in the editor, contains the proposal title, client details, scope of work, and deliverables. For example, client.company fills the company name and client.contact fills the greeting. The scope of work repeats the name and description for each item in proposal.services.

2. Budget

ShipPDF editor showing the Investment and next steps page with a service pricing table, a repeating proposal.phases timeline, payment terms, contact placeholders, and the Data Fields panel
Explicit page 2: Budget. Service rows fill the pricing table, proposal.phases fills the timeline, and fields supply payment and contact details.

The Budget page, named Investment and next steps in the editor, uses the services in a pricing table and repeats proposal.phases for the timeline. These are the same collections you will map to linked Services and Phases records in Attio. The editor’s sample values help you design the layout; the generated PDF uses the data you map and review in Attio.

Two template pages can produce more than two PDF pages. Long descriptions, service tables, and phase timelines can create automatic overflow pages. ShipPDF continues each explicit page’s content onto additional PDF pages as needed, then starts the next explicit page on a new PDF page. For example, Budget starts after Overview and any of its overflow pages. See Pages and overflow for how pagination works and how to control page breaks.

Use Save & publish after changing the template. Attio loads the published fields and layout. Continue with installation below, or go to Map template fields if your connection is already ready.

Install ShipPDF in Attio

An Attio workspace admin installs the app and connects it once for the team. ShipPDF uses OAuth: sign in and approve access to your ShipPDF workspace. You do not need to create or paste an API key.

1. Find and install ShipPDF

In Attio, click your workspace name, open Workspace settings, and select Apps in the sidebar. Search for ShipPDF.

Attio Apps settings with ShipPDF in the search field and the ShipPDF app in the results
Open Apps in Attio’s workspace settings and search for ShipPDF.

Open the ShipPDF listing and click Install. Review and approve the requested Attio permissions.

ShipPDF app listing in Attio with the Install button in the upper right
Choose Install on the ShipPDF app listing.
Attio permission Used for
Record access (record_permission:read) Reading the record’s values and checking access to the source record
Object configuration (object_configuration:read) Reading attribute definitions for the field picker
Files read and write (file:read-write) Finding and uploading generated PDFs in record Files

2. Connect your workspace

After installation, open the app’s Connections tab. Under Workspace connection, click Connect.

Installed ShipPDF app with a Connect button under Workspace connection and a separate Member connections section
Use Connect under Workspace connection to set up the shared connection.

3. Authorize access in ShipPDF

Sign in to ShipPDF if prompted. On Connect Attio to ShipPDF, select the ShipPDF workspace containing your projects and templates. Approve the document and saved-mapping permissions listed below, then click Allow access.

ShipPDF authorization screen with a workspace selected, all six permissions checked including viewing and saving mappings, and the Allow access button
Choose your ShipPDF workspace, keep all six permissions selected, and click Allow access.
ShipPDF permission Scope Used for
View your projects projects:read Listing available projects
View your templates templates:read Listing templates and loading their published fields
Generate documents on your behalf documents:create Generating PDFs using your workspace’s credits
Check document status and download results documents:read Checking generation status and retrieving download links
View saved mappings mappings:read Finding and loading reusable mappings
Create and update saved mappings mappings:write Saving new mappings and updating shared rules

If your workspace was connected before saved mappings were available, ask an Attio admin to reauthorize the connection with mappings:read and mappings:write. Refreshing an existing connection’s token does not add these permissions.

4. Confirm the connection and open a record

You return to Attio after authorization. Check that Workspace connection shows Connected with a green status indicator.

ShipPDF Connections tab showing a green Connected status for the workspace while the member still shows No connection
The workspace connection is ready when its status shows Connected.

The team shares this workspace connection. No connection under Member connections is expected; each teammate does not need a separate ShipPDF connection.

Open an Attio record and find the ShipPDF icon in its action bar. Hover over it to see Generate PDF ShipPDF, then click it to start generating a document.

Attio record action bar with the ShipPDF icon and the tooltip Generate PDF ShipPDF
Use the ShipPDF record action to generate your first PDF.

For more about Attio’s app settings and admin access, see Install and connect an app.

Generate a PDF

Choose a template

Open the Attio record you want to use and choose Generate PDF from its record actions. If saved mappings are available, choose Create new mapping to start a new setup; otherwise, the project picker opens directly. To reuse an existing setup, see Reuse a mapping on another deal.

Select the ShipPDF project and click Continue.

ShipPDF project picker on the Harbor & Pine Outfitters deal with Demo selected and Continue available
Choose the project containing your published template.

Choose a published template and click Continue.

ShipPDF template picker with CRM Sales Proposal — Studio North selected in the Demo project
This walkthrough uses the published CRM Sales Proposal — Studio North template.

Your template determines which fields and repeating sections appear in the next step. The examples below use a proposal with client details, services, and project phases; your fields depend on your published template.

Map template fields

For each template field, choose an Attio record attribute, Enter a value, or Leave empty. The field names come from your published ShipPDF template. Fields use dot notation: client.company identifies company inside the template’s client object.

The source picker includes record attributes with values and linked-record attributes. To use a field from a linked person, company, or other record, select the linked-record attribute and choose Choose field. Select the record and field, check the preview, then choose Use value. If several records or values are available, select the one you want to use.

ShipPDF mapping screen with client.company using Associated company, client.contact using Associated people, Edit field actions, and proposal.issuedOn using Created at
Map template fields to this deal’s attributes and linked records. The company and contact fields use related record values.

A single-value template field needs a single source value; a template list can accept a compatible multi-value attribute. For repeating sections, use linked-record column mappings or enter line items as described below.

Leave empty omits the field from the submitted data. It does not copy the template’s sample data. Save the mapping on the review screen to reuse these field choices on other records of the same Attio object, such as other Deals.

Add line items and nested items

Import linked records

For a repeating section, choose a linked-record attribute from the source picker, then click Map columns. Each linked record becomes one line item. Map each template column to an attribute from the linked records, enter a shared value for every row, or choose Leave empty. Check the preview and choose Use line items to apply the mapping.

Map columns for proposal.services dialog with name mapped to Name, description to Description, quantity to Quantity, unitPrice to Unit Price, a two-row preview, and Use line items
Map each line item column to an attribute on the linked Services records, then choose Use line items.

In this example, proposal.services uses Services (6 linked records) to fill the name, description, quantity, and unitPrice columns. The separate proposal.phases section uses Phases (5 linked records) for the phase and schedule columns. The column editor previews the first two rows; Review data shows the full list.

Use Edit columns to change an imported section’s mappings. Reopening the column editor reloads its linked records; apply the mappings again with Use line items. Each collection supports up to 100 linked records from one object type. Relationships inside those linked records are not followed recursively.

Enter items manually

To enter rows yourself, select Enter line items, then Add line item. The item form follows the template’s schema, with inputs for text, numbers, checkboxes, dates, timestamps, nested objects, and lists. Use Edit or Remove to change existing rows.

For example, an invoice’s items might contain:

Description Amount
Website design 1250
Implementation 750

Nested collections open their own item editors. Save the nested item, then save its parent item to retain the changes. Cancelling the parent discards its unsaved changes, including edits to nested items.

Each manual collection supports up to 100 entries. Calculated fields are handled by the ShipPDF template and are not editable inputs.

Review and generate

Choose Review data after mapping your fields and line items. Check the values and all imported or manually entered rows, then enter a filename. Fields marked Left empty will be omitted from the submitted data.

Harbor & Pine Outfitters proposal review showing mapped client details and the Update mapping, Save as new mapping, and Generate PDF actions
Review the resolved data and filename. Save the rules for reuse before generating the document.

If anything needs changing, choose Back to field mapping, edit the fields, and review again.

Save a reusable mapping

Choose Save as new mapping, enter a recognizable Mapping name, and choose Save mapping. For example, save this setup as CRM Sales Proposal - Customer Booking Portal. The saved mapping keeps the template, field sources, linked-record column rules, and any fixed defaults for reuse on records of the same Attio object in your workspace.

When you loaded an existing mapping, Update mapping saves changes to that shared mapping for future documents. Save as new mapping creates a separate setup. Choosing Generate PDF uses your current draft without automatically saving or updating the mapping.

Record attributes and linked records are read again when you reuse the mapping. Manually entered values and line items are saved as fixed defaults, so check them before saving anything specific to one deal. Saving a mapping does not generate a PDF or spend a generation credit.

When ready, choose Generate PDF and keep the dialog open while the document is generated. Generating the PDF uses one ShipPDF generation credit; reviewing the data does not.

ShipPDF generating screen with a document ID, a message to keep the dialog open, and an Edit data button
Keep the dialog open to receive the finished PDF link. Editing data does not cancel a generation already in progress.

Preview, download, and save

Open the finished PDF

When generation finishes, the dialog shows Your PDF is ready, your filename, the document reference, and the Generated status.

ShipPDF completion dialog with Your PDF is ready, Generated status, Preview / download PDF, Save to record Files, Refresh download link, and Edit data
The finished PDF is ready to preview, download, or save to the Attio record.

Choose Preview / download PDF to open the generated file in a new browser tab. Your browser’s PDF viewer can display or download it, depending on your browser settings. Review all pages before sharing the document.

First two pages of the generated Studio North proposal with client details, scope of work, deliverables, a service pricing table, an estimated timeline, and payment terms
The generated proposal combines the mapped client details with imported Services and Phases in the published template’s layout.
Final overflow page from the Budget layout of the generated Studio North proposal with Next steps and contact details
The Budget layout continues onto this overflow page. The template still has only two explicit pages.

Save a copy to the record

Return to the ShipPDF dialog in Attio and choose Save to record Files to upload a PDF copy to the original record. After saving, the status changes to Saved to record Files. Choose View saved PDF in Files to open that record’s Files tab.

Attio deal record with the Files tab selected and the generated CRM Sales Proposal — Studio North PDF listed with its document reference in the filename
The saved PDF appears in the original record’s Files tab, where your team can open it.

The uploaded copy is stored in Attio; it does not depend on the ShipPDF download link remaining valid. Saved filenames include the ShipPDF document reference.

Saving supports PDFs up to 50 MB and requires the app’s Files permission. Saving is a separate action after generation; a PDF is not attached automatically.

Save a lasting copy in your CRM. ShipPDF download links expire after 15 minutes by default. You can choose Refresh download link to get a fresh link for the same document, but we recommend Save to record Files to keep a copy in Attio that remains available after the download link expires.

Previewing, refreshing the link, and saving the same PDF do not spend another generation credit.

Reuse a mapping on another deal

After saving your mapping, open another Deal and choose Generate PDF. In Saved mapping, select CRM Sales Proposal - Customer Booking Portal and choose Continue. Saved mappings are shared for the same Attio workspace and object; a Deal mapping is available on other Deals.

Northstar Coffee deal with CRM Sales Proposal - Customer Booking Portal selected in the Saved mapping picker
Open the Northstar Coffee deal and select the same mapping used for Harbor & Pine Outfitters.

The app loads the saved template and rules, then reads this deal’s current attributes and linked records. You do not need to choose the project and template or map every field again. Check the loaded mapping and choose Review data. If a relationship has several records or values, make the requested selection for this document. Resolve any fields flagged as changed or unavailable before continuing.

Review screen on the Northstar Coffee deal showing Northstar Coffee, Sarah Chen, Online store redesign, a four-week timeline, and the deal’s service rows
The same mapping now resolves Northstar Coffee’s company, contact, proposal details, and linked service rows.

Check the filename, fixed defaults, and line items, then choose Generate PDF. Changes made for this document stay local unless you choose Update mapping or Save as new mapping.

Generated Northstar Coffee proposal for Online store redesign with Sarah Chen, three service rows totaling $6,500, and a four-week timeline
The same template and mapping produce a new proposal using the second deal’s data.

Preview the new PDF, then use Save to record Files to keep it with the Northstar Coffee deal. Generating a PDF for this second deal uses a new generation credit; selecting and loading the saved mapping does not.

Generation credits and retries

Generating a PDF spends a ShipPDF generation credit. Reviewing the mapped data does not generate a PDF. Opening the finished PDF, downloading it, refreshing its link, and saving the same document to Attio Files do not spend another generation credit.

If automatic status checks stop, choose Check status to continue checking the same document. Closing the dialog does not cancel a queued generation; you can find the document in ShipPDF.

Retrying the same submission within the open dialog reuses its generation request. Starting again in a new dialog is a new submission and may spend another credit.

Troubleshooting

No workspace connection

Ask an Attio workspace admin to open Workspace settings → Apps → ShipPDF → Connections and click Connect under Workspace connection. Sign in to ShipPDF, select the intended workspace, and allow all permissions listed above. The connection is shared across the workspace; a member connection is not required.

Connection or permission error

Ask an Attio workspace admin to reconnect ShipPDF from the app’s Connections tab. Select the correct ShipPDF workspace and allow all permissions listed above. If Attio requests an update to the app’s own permissions, have an admin approve it too.

Project or template missing

Confirm that the connection uses the intended ShipPDF workspace. Reconnect if you selected a different workspace during authorization. Publish the template before selecting it. If you changed the template’s schema, publish those changes and select the template again to load its updated fields.

Saved mappings do not load or save

Ask an Attio admin to reauthorize the shared ShipPDF connection with View saved mappings (mappings:read) and Create and update saved mappings (mappings:write). Confirm that the mapping belongs to the same Attio workspace and object. You can choose Create new mapping to generate a document without saving a configuration while resolving the connection issue.

Unable to save to Files

Check that the Attio installation has Files read and write access and that the PDF is no larger than 50 MB. If Attio requests a permissions update for an existing installation, have an admin approve it. You can still use the PDF download link while resolving a Files issue.

Generation failed

Review the error, check the template and submitted values in ShipPDF, and correct the problem before starting a new generation. Refreshing a download link cannot repair a failed render.

For help, contact support@shippdf.com with the error and document reference when available. Do not include access tokens or other credentials.

Keep your documents on brand

Build your logo, colors, typography, and layout into reusable ShipPDF templates, then generate proposals, quotes, and invoices from your Attio records. Your team can spend less time copying client details and formatting documents, keep branding consistent across every PDF, and save the finished files alongside the deals they belong to.