Ends July 1$89/mo locks in for life. Reverts to $129 after July 1.
///INTEGRATION

Notion Integration

Connect Articfly to a Notion database and publish AI-generated articles as new pages. Articfly auto-detects standard property names (Title, Tags, Date, Slug, Status), so most setups work without any field mapping. Also serves as the publishing path for any Notion-as-CMS tool, Feather, Super, Potion, custom Notion blogs.

Prerequisites

  • A Notion workspace, Free or paid plan, both work. Workspace owner permission is needed to create the integration.
  • A target database with a title-typed property. Articfly publishes each article as a new page inside this database. Most blog/CMS templates already have one.
  • Active Articfly account, sign up at app.articfly.com if you have not already.

Connecting Notion

Setup takes about a minute. Three steps from creating a Notion integration to your first published page.

01

Create an Internal Integration in Notion

Open notion.so/my-integrations and click + New integration. Pick the workspace that holds your blog database, set type to Internal, and save. Notion shows an Internal Integration Token starting with secret_ or ntn_. Copy it.

02

Share the database with the integration

Open the database you want Articfly to publish to. Click the ••• menu in the top-right and choose Connect to. Pick the integration you just created. Without this step, the integration token cannot see your database, Notion scopes access per-database, not per-workspace.

03

Paste the token in Articfly & pick your database

In the Articfly dashboard, go to Integrations → Notion. Paste the Internal Integration Token and click List my databases. Articfly fetches all databases the integration can see, pick the one you want and click Connect Notion. Done.

Property Mapping

Articfly auto-detects the role of each Notion column by name, so most databases work without manual configuration. The only required column is the title-typed property, Notion enforces exactly one per database, so this almost always exists.

Title (required)

The single title-typed property in your database, usually called Name or Title. Articfly fills it with the article title.

Slug

A rich_text column named Slug, URL Slug, URL-Slug, or Permalink. Filled with the article slug if present.

Date

A date column named Date, Publish Date, Published, or Published Date. Set to the scheduled publication time, or to the current time for immediate publishes.

Tags

A multi_select (preferred) or select column named Tags, Tag, Categories, Category, or Topics. Tags from the article are written; for select only the first tag is used (Notion select takes one value).

Status

A status or select column named Status, State, or Publication Status. Articfly sets the value to Published. If your database has different status options, Articfly skips this property gracefully, the page still publishes.

Cover Image

If the article has a featured image, Articfly sets it as the page cover via external URL. Image stays on Articfly's CDN, no upload to Notion.

Property name match is case-insensitive. If your database uses different column names (e.g. localized to another language), rename the column in Notion before connecting, or skip that property, Articfly will still publish, just without that field populated.

What the Integration Does

HTML → Notion Blocks

Articfly converts the article HTML into native Notion blocks, paragraphs, headings, lists, quotes, code blocks, links, images, bold and italic. Notion has only h1-h3, so deeper headings collapse to h3.

Long Articles

Notion's API caps each request at 100 blocks. Articfly transparently chunks longer articles, creates the page with the first 100 blocks, then appends the rest.

Encrypted Token Storage

Your Internal Integration Token is encrypted at rest using AES-256-GCM before being stored in Articfly's database. Sent only on outbound API calls to api.notion.com.

One-Click Disconnect

Open the Notion integration page and click Disconnect to clear the stored token. To fully revoke access, also remove the integration from notion.so/my-integrations or disconnect the database in Notion.

Works With Notion-as-CMS Tools

Many no-code blog tools use a Notion database as their content source, Articfly can populate that database, and your blog tool picks up the new article automatically:

  • Feather, point Articfly at the same content database Feather syncs from. New rows appear on your Feather blog within seconds.
  • Super, connects pages from a Notion database to a custom domain. Articfly-created pages render on your Super site automatically.
  • Potion, Notaku, custom Notion-rendering frontends, same pattern. Whatever reads from your Notion database will see Articfly's output.

Make sure your Notion database's columns match what your blog tool expects (title, slug, publish date, status, etc.). Articfly auto-detects these by name, so as long as your blog tool uses standard names, no extra configuration is needed.

Security Notes

  • The Internal Integration Token grants the integration full read/write access to every database you share with it. Treat it like a password, do not commit it to git, post it in chat, or share screenshots showing the full secret.
  • Notion scopes access per-database. Sharing the integration with a single blog database does NOT give it access to the rest of your workspace, your meeting notes, project boards, and personal pages stay private.
  • All API calls use HTTPS with a 30-second timeout. Articfly never logs the token, only the response status and short error excerpts.

Troubleshooting

"This Notion token is invalid or revoked"

Notion rejected the token. Double-check that you copied the full secret (they are long), that the integration still exists at notion.so/my-integrations, and that the workspace it's scoped to is the correct one. Token rotation in Notion produces a new secret, re-paste in Articfly if you rotated.

"No databases shared with this integration"

The token is valid but the integration cannot see any databases yet. Open your blog database in Notion, click the ••• menu, choose Connect to, and pick the integration. Then return to Articfly and click Refresh databases. The change is instant.

"The selected database has no title property"

Every Notion database has exactly one title-typed column by design, but the database you picked may be a non-standard structure (e.g. an archived view or a synced external table) that lost it. Pick a different database, or open the database settings in Notion and add a title column.

Tags or Status are not being filled

Articfly auto-detects these columns by name. If your database uses a non-standard column name (e.g. Topics, Etykiety, Kategorie), the auto-detect skips it. Rename the column to a recognized name (see the Property Mapping section above), then disconnect and reconnect Notion in Articfly to re-scan the schema.