Skip to main content

How to automate Google Sheets with Storydoc

You can use Google Sheets as a data source to automatically create and update personalized Storydoc links using Zapier and the Storydoc API

Jack avatar
Written by Jack
Updated over a month ago

Common use cases:

Sales outreach lists

  • Maintain leads in a Google Sheet.

  • Automatically generate personalized sales decks when new rows are added.

Candidate or employee onboarding

  • Store candidates or new hires in a spreadsheet.

  • Generate personalized onboarding guides, welcome packs, or role briefs.

Recurring reports

  • Keep account or project data in a sheet.

  • Trigger fresh Storydoc reports using scheduled automations.


Make sure you have:

1. Storydoc account with automation enabled

  • API and automation access are available on selected team plans.

  • If you do not see the API or automation options in your workspace, contact your account manager or Support.

2. Zapier account

  • Zapier includes a native Storydoc app for generating Storydocs from other tools without code.

3. Google Sheet prepared

  • Create a Google Sheet with one header row and clear column names (for example: first_name, company_name, email, story_type).

  • Each new row represents one Storydoc you want to generate, such as a prospect or candidate.

4. A Storydoc template ready

  • Prepare a base Storydoc you want to personalize.

  • Add Dynamic Variables (for example {{first_name}}, {{company_name}}) so each version can be populated using spreadsheet data.


Step 1: Connect Storydoc to Zapier (Read more here)

  1. Sign in to Zapier.

  2. Search for Storydoc in the Zapier app directory and select it.

  3. Click Connect (or Add connection if you already have one).

  4. In the connection window:

    • Paste your API key, or

    • Complete the authentication flow.

  5. Save the connection.

Storydoc is now available as an action in any Zap.


Step 2: Set Google Sheets as your trigger

  1. In Zapier, click Create Zap.

  2. For the Trigger app, select Google Sheets.

  3. Choose a trigger event, such as:

    • New Spreadsheet Row

    • New or Updated Spreadsheet Row

  4. Connect your Google account and allow access.

  5. Select:

    • The Spreadsheet containing your data.

    • The Worksheet where the rows are stored.

  6. Click Test trigger to confirm that Zapier detects your sample row.


Step 3: Add Storydoc as the action (create a new version)

  1. Add an Action step.

  2. Select Storydoc as the action app.

  3. Choose the action event, for example:

    • Create a New Story Version

  4. Connect your Storydoc account if needed.

  5. Configure the action:

    • Story: select your base template.

    • Version title: map a value from the sheet, such as {{company_name}} – {{first_name}}.

    • Sender email / owner fields: map a fixed value or a column.

    • Dynamic Variables: map each Storydoc variable (for example {{first_name}}) to its matching column in the sheet.

  6. Click Test action to create a sample Storydoc.

    • You should see a new personalized version in your Storydoc workspace.


Step 4: Write the Storydoc link back to Google Sheets (optional but recommended)

  1. Add another Action step.

  2. Select Google Sheets as the action app.

  3. Choose Update Spreadsheet Row.

  4. Use the Row ID from the trigger step to update the same row.

  5. Map:

    • The column where you want to store the Storydoc link (for example storydoc_url) to the URL returned from the Storydoc action.

    • Any additional status columns (for example status = link_generated).

  6. Test the step to confirm the link is written into your sheet.

Now every time a row is added or updated, a personalized Storydoc will be created and logged in your spreadsheet.


Did this answer your question?