To send website feedback to Notion, connect your feedback tool's API to a Notion database with Zapier. With Skyelight, a Zap checks your project every few minutes and adds each new thread to Notion as a row, with its type, status, page and comment filled in. You don't write any code, though you will paste one API token and one URL.
This guide walks through the setup, what to map to each column, and where the approach runs out.
Why bring feedback into Notion
Plenty of teams run their roadmap, sprint board or client project tracker in Notion. Feedback that lives only in a review tool gets triaged twice: once where it was left, and again when someone copies it into the plan. A row per thread in the database you already use means the comment shows up in the same views, filters and meetings as everything else.
The pin stays in Skyelight. That's where the element, the screenshot and the conversation live, so treat the Notion row as the planning copy and reply on the thread itself.
What you need
- Skyelight Pro or Team, with a paid seat in the workspace (owner, admin or collaborator). API tokens aren't available on Free.
- A paid Zapier plan. The Retrieve Poll trigger used here isn't on Zapier's Free plan.
- A Notion workspace where you can create a database and connect Zapier.
Send new feedback to Notion, step by step
1. Set up a Notion database
Create a database called Feedback, or add columns to one you already have. A useful starting set:
| Notion column | Property type | Filled from |
|---|---|---|
| Name | Title | excerpt |
| Type | Select | type (bug, idea, feedback and so on) |
| Status | Select | status (open, deferred or resolved) |
| Page | Text | page, such as /checkout |
| Reported by | Text | author |
| Page URL | URL | url, from the full thread (step 5) |
Notion's own Created time property records when each row arrived, so you don't need to map a date.
2. Create a Skyelight API token
In Skyelight, go to Account Settings › API Keys and click Create. Name it Zapier so you know what it's for, choose how long it lasts, and copy it. It starts with sky_, and Skyelight shows it only once.
The token acts as you and reaches the workspaces you can reach. When it expires, the Zap stops, so pick a lifetime you'll remember to renew, or a token that doesn't expire. More in Authentication.
3. Copy your project ID
The Zap reads one project. Open it in Skyelight and click the copy button just left of Share. Its tooltip says Project ID. You'll paste the ID into the URL in the next step.
4. Add a Retrieve Poll trigger in Zapier
Create a Zap and choose Webhooks by Zapier as the trigger app, with the Retrieve Poll event. Fill in:
| Field | Value |
|---|---|
| URL | https://app.skyelight.ai/api/v1/items?projectId=PROJECT_ID |
| Key | items |
| Deduplication Key | Leave empty. Zapier uses each thread's id. |
| Headers | Authorization set to Bearer sky_... |
Test the trigger. Zapier should pull in a recent thread with its excerpt, type, status and page.
To send only some threads, add filters to the URL. For example, &type=bug sends only bugs, and &page=/checkout sends only one page. The List items reference has every filter.
5. Get the full thread (optional)
The trigger gives you a one-line summary of each thread. For the whole first comment, the page URL and the screenshot, add a Webhooks by Zapier action with the GET event:
- URL:
https://app.skyelight.ai/api/v1/items/followed by theidfrom the trigger. - Headers: the same
Authorizationheader.
This step returns url (the full page address), thread.root.content (the first comment in full) and evidence.screenshotUrl. See Get an item for the rest.
6. Create the Notion item
Add Notion as the action app with the Create Data Source Item event, connect your Notion account and pick the Feedback database. Map each column to the field in the table from step 1. If you added step 5, put thread.root.content in the page content so the full comment sits inside the row.
Test the action, check the row in Notion, and turn the Zap on.
What to expect
- New threads only. When you turn the Zap on, Zapier notes the threads already in the project and only sends ones created after that. Older feedback stays in Skyelight.
- A short delay. Zapier polls on a schedule, every few minutes depending on your Zapier plan, so a thread can take a little while to show up.
- One direction. Replies, assignments and a thread moving to resolved don't update the Notion row. Change status in Skyelight, where the reviewer will see it.
- One project per Zap. For a second project, copy the Zap and change the
projectId.
Webhooks, so tools like Zapier hear about new threads and changes the moment they happen, are on the roadmap.
Frequently asked questions
Is there a Skyelight app in Zapier?
Not yet. This guide uses Webhooks by Zapier to call the Skyelight REST API directly, which works today without a dedicated app.
Which plans do I need?
Skyelight Pro or Team, with a paid seat (owner, admin or collaborator), to create an API token. On Zapier, the Retrieve Poll trigger isn't available on the Free plan.
Do replies and status changes sync to Notion?
No. The Zap adds a row when a new thread appears. Later replies, and a thread moving to resolved, stay in Skyelight. Webhooks for thread events are on the Skyelight roadmap.
Will it copy the feedback I already have?
No. When you turn the Zap on, Zapier notes the threads that already exist and only sends threads created after that.
Does this work with Make or n8n?
Yes. Both can call an HTTP endpoint on a schedule with a bearer token. Use the same URL and header, and point them at the items array in the response.