Skip to main content

Sync Notion statuses to Harvestr via Zapier

Sync Notion Status to Harvestr Discovery Status with Zapier

Written by Marina Salmon

This guide explains how to automatically update a Harvestr Discovery's status when the status of a linked item changes in a Notion database.

Once configured, updating an item's status in Notion automatically updates the linked Discovery in Harvestr.

There is no native Notion integration. This recipe runs through Zapier and the Harvestr API, so a Zapier account is required.

If you use Jira or Linear, status sync is built in — no Zapier needed.

What you need

In Notion

A database with at least:

  • a Status property

  • a Harvestr URL property, holding the URL of the Harvestr Discovery you want to sync

In Harvestr

Optionally, a Notion URL field on your Discoveries, holding the URL of the linked Notion item. This is not required for the Notion → Harvestr sync, but it's useful if you want the relationship visible from Harvestr, or plan to sync in the other direction later.

You also need two API tokens:

  • one with read_discovery access, to list your discovery states

  • one with write_discovery access, to update discoveries

Permissions

  • a Zapier account with access to Webhooks by Zapier

  • a Harvestr account with Editor permissions

How linking works

For each Discovery you want to sync with a Notion item:

  • paste the Harvestr Discovery URL into the Harvestr URL field on the Notion item — required

  • paste the Notion item URL into the Notion URL field on the Discovery in Harvestr — optional

How to set up the sync

Step 1 — Configure the Notion trigger

In Zapier, create a new Zap. For the trigger, choose:

  • App: Notion

  • Trigger event: Updated Properties in Data Source Item

Then configure it:

  • Data Source — select the table containing the items you want to sync

  • Properties to watch — select your Notion Status property

The Zap now only runs when the status of one of those items changes.

Step 2 — Filter on linked items only

Add a Filter by Zapier step, set to continue only when:

  • Properties Harvestr URL exists

This ensures the Zap only runs for Notion items actually linked to a Discovery.

Step 3 — Extract the Discovery ID from the Harvestr URL

Add a step:

  • Formatter by Zapier

  • Event: Text

  • Transform: Extract Pattern

  • Input: your Harvestr URL field

  • Pattern:

(?:[?&]v=|/)([A-Za-z0-9_-]+)$

Leave the other parameters as they are, then test to confirm the Discovery ID is extracted correctly.

Step 4 — Map the Notion status to a Harvestr state ID

First, get your Harvestr discovery state IDs

Go to your Harvestr API settings and create a read_discovery API token.

Use the list discovery states endpoint to list your states:

  • click Authorize and paste your token

  • click Execute and keep the state IDs handy for the next steps

In Zapier

Add a step:

  • Formatter by Zapier

  • Action event: Utilities

  • Transform: Lookup Table

  • Lookup key: your Notion Status property

Lookup table setup

In the left column, put your Notion status names. In the right column, the corresponding Harvestr discovery state IDs retrieved from the API.

Notion status

Harvestr discoveryStateId

Planned

abc

In progress

xyz

Done

123

The output of this step is the correct Harvestr discoveryStateId.

Step 5 — Update the Discovery in Harvestr

Add a final step:

  • Webhooks by Zapier

  • Action event: Custom Request

Configure it as follows.

Method

PATCH

URL

https://rest.harvestr.io/v1/discovery/<DISCOVERY_ID>

Use the Discovery ID extracted in Step 3.

Data

Use raw JSON:

{
  "discoveryStateId": "<MAPPED_DISCOVERY_STATE_ID>"
}

Replace <MAPPED_DISCOVERY_STATE_ID> with the output of the lookup table from Step 4.

Headers

  1. Create a new write_discovery token

  2. In Zapier, add these headers:

Content-Type

application/json

X-Harvestr-Private-App-Token

your write_discovery token

Step 6 — Test the Zap

  1. Update the status of a linked item in Notion

  2. Check that the linked Discovery status updates in Harvestr


Troubleshooting

The Zap doesn't trigger

Make sure you selected:

  • Updated Properties in Data Source Item as the trigger event

  • the correct Notion table

  • the correct Status property under "Properties to watch"

The Zap runs but nothing updates in Harvestr

Check that:

  • the Notion item has a valid Harvestr URL

  • the Discovery ID extraction in Step 3 works correctly

  • the lookup table contains the correct Harvestr discovery state IDs

  • your Harvestr API token carries the write_discovery scope

The wrong status is applied

Review the lookup table and confirm each Notion status name maps to the correct Harvestr discoveryStateId.

Did this answer your question?