Notion Widget

Plan your Instagram
grid beautifully.

Connect your Notion content database and get a stunning, real-time grid planner embedded directly in your workspace.

your.handle
12
posts
1.2k
followers
340
following
Your Name ✨
Content creator & designer
🔗 yoursite.com

Everything you need to plan
your perfect feed.

Creso Grid turns your Notion content database into a real-time visual planner — no code, no complexity.

📸
Real-time Instagram Grid Preview
Visualize exactly how your feed will look before you post. Pulls images directly from your Notion database and renders them in a pixel-perfect 3-column grid layout.
Notion-Native Embed
One URL to paste with /embed in Notion. Works in any page, database, or sidebar.
Status Badges
Automatically reads your Status column — shows Draft, Scheduled, or Ready badges on each cell so you know what's coming.
👤
Full Profile Customization
Upload your avatar, add your bio, website link, and up to 10 story highlight circles — making it look just like the real Instagram app.
Dark & Light Mode
Toggle dark mode to match Notion's dark theme perfectly. Looks great in both modes.
Flexible Grid Columns
Choose 2, 3, or 4 column layouts depending on how you use your feed and workspace.

Set up in 5 minutes.

Follow these steps to connect your Notion database and get your grid widget running.

Steps
1
Create a Notion Integration
You need a Notion integration to allow Creso Grid to read your database securely. This takes about 60 seconds.
1
Go to notion.com/profile/integrations and sign in to your Notion account.
2
Click "Create new integration". Give it any name (e.g. "Creso Grid").
3
Under "Installable in" you will see your workspace name (e.g. Social Media Management). This confirms it is connected to the right workspace. Click "Save".
4
Click "Configure" on your new integration. Under User Capabilities, set it to "No user information".
5
Go to "Content Access" → click "Edit access" → select the database page you want to connect Creso Grid to → click Confirm.
6
Go back to the integration configuration page. Copy the "Installation access token" — this is your Notion token. It starts with ntn_ or secret_.
Keep your token private. Never share it publicly. It gives read access to your connected database.
2
Set Up Your Notion Database
Creso Grid reads from any Notion database. Here's the column structure it understands automatically.
1
Create a new full-page database in Notion (or use an existing content calendar). Type /database and select "Database — Full page".
2
Add these recommended columns. Creso Grid auto-detects them by name — spelling matters:
Column Name
Type
Required?
Name / Title
Title (default)
✓ Yes
Image / Photo
Files & Media
Recommended
Status
Select or Status
Optional
Caption
Text
Optional
Date / Scheduled
Date
Optional
Widget
Text
If using filter
3
For the Status column, use options like: Draft, Scheduled, Published — Creso Grid colour-codes them automatically.
4
Now connect your integration: open your database → click ··· (top right) → Connections → search for your integration name → click Confirm.
💡 You can also use your page cover image — Creso Grid will use it as the post image if no Image column is found.
3
Connect to Creso Grid
Now paste your details into the widget creator below — it takes less than a minute.
1
Scroll down to the "Create Widget" section on this page, or .
2
Enter a Widget Name (anything you like, e.g. "My Feed Planner").
3
Paste your Notion Integration Token (the one starting with secret_ that you copied in Step 1).
4
Open your Notion database in the browser and copy the full URL from the address bar. Paste it into the Database URL field.
5
Adjust options like dark mode, grid columns, and profile visibility to your preference, then click "⚡ Generate Widget".
Your widget URL will appear instantly. Copy it — you'll need it for the next step.
4
Embed the Widget in Notion
Add your grid widget to any Notion page in seconds using the built-in Embed block.
1
Open the Notion page where you want to display your grid (usually your content calendar or media planning page).
2
Click anywhere on the page and type /embed then press Enter.
3
A dialog appears asking for a URL. Paste your Creso Grid widget URL and click Embed link.
4
Your Instagram grid will appear! Resize the embed block by dragging the edges to make it taller or wider.
Same browser required. Because Creso Grid stores your credentials locally for privacy, the widget only works in the same browser where you created it. If you share the Notion page with others, they'll need to create their own widget.
5
Customize Your Profile
Add your avatar, bio, and story highlights to make the widget feel just like Instagram.
1
After generating your widget URL, click the "Edit Profile" button that appears below the URL.
2
Upload your profile picture and fill in your username, display name, bio, and website link.
3
Add up to 10 story highlights with custom emojis and titles — they'll appear as circles below your bio.
4
Click "Save Profile". Your widget will automatically reflect the changes — no need to regenerate the URL.
💡 Profile data is shared across all your widgets with the same license key — update it once and all your grids update.
🎉 You're all set! Your Instagram grid planner is now live inside Notion. Add new rows to your database and refresh the widget to see them instantly.

Build your grid widget.

Enter your Notion details below and get an embeddable URL in seconds.

Widget Name
Notion Integration Token From my-integrations
Get this from notion.com/my-integrations → your integration → Internal Integration Token
Notion Database URL
Open your database in Notion and copy the full URL from the browser address bar.
Grid Columns
Content Filter Optional
Dark Mode
Match Notion's dark theme
Show Profile Bio
Avatar, name and stats above the grid
Show Story Highlights
Circles below your bio
Your Widget URL
💡 In Notion, type /embed and paste this URL to show your grid.
Before you start
Notion account with a database ready
Integration created at notion.com/my-integrations
Integration connected to your database
Database has an Image column (Files & Media)
Database has a Status column (optional)
Need help?
Check the above or read the for common questions.

Common questions.

Why isn't my widget loading in Notion?
Creso Grid stores your credentials locally in your browser for privacy. The widget only works in the same browser where you created it. If you're opening the Notion page in a different browser or device, you'll need to visit this setup page there and re-enter your details.
My images aren't showing up in the grid.
Make sure your Notion database has a column named Image, Photo, or Media with the type set to Files & Media. Upload images directly to that field (not as external links). Alternatively, you can set a page cover image — Creso Grid will use that as a fallback.
I get an authentication error.
This usually means one of two things: (1) your integration token is wrong — go back to notion.com/my-integrations and copy it again, or (2) the integration isn't connected to your database. Open your database in Notion, click ··· at the top right → Connections → find your integration → click Confirm.
Can I use this on multiple devices?
Yes, but you'll need to set up the widget on each device separately. Visit this setup page on each browser/device, create a widget with the same credentials, and use the same license key in the URL. Your profile data is tied to your license key, so the bio and highlights will be shared.
What does the Content Filter do?
If you have multiple social media platforms in one database, you can tag certain rows with a specific value in a column called Widget. Enter that value in the Content Filter field and only those rows will appear in your grid. Leave it blank to show all rows.
Is my Notion token secure?
Your token is stored only in your browser's localStorage — it never touches our servers. When the widget loads data, it sends the token to a serverless proxy function that makes the Notion API call server-side (to get around CORS restrictions), but the token is not logged or stored anywhere. You can revoke the integration at any time from notion.com/my-integrations.
Delete widget?
This permanently removes the widget configuration. The embed URL will stop working.