Anticode Open builder

Website form to Notion database: one page per submission

Anticode's Notion connector adds a page to a Notion database for every form sent on your published sites. The page's title names the form and the project, and each field the visitor filled in becomes a paragraph in the page body. You provide an internal integration's secret, the database id, and the name of the database's title column.

Updated · By the Anticode team

Who uses Notion for this

Teams that already plan their week in Notion: a consultancy tracking enquiries next to its project pages, a small agency keeping a leads board, a school club collecting sign-ups. A website form to Notion database setup means every submission is a page that can be assigned, commented on, linked to a client page and moved through a board, without copying from email.

What each page looks like

Title
"New booking request on Riverside Pottery", "New message on …", "New newsletter sign-up on …" or "New invite request on …", written into the title column you name.
Body
One paragraph per field, as name: value. A booking produces six: service, day, time, name, phone and email.
Other properties
Left empty for you. Notion adds its own created time, which is a good sort key.

The fields go in the body rather than in separate properties because every database is shaped differently. That way the connector works with any database that has a title column, and nothing breaks if you rename or add properties later.

Create the integration and share the database

  1. Create an internal integration (Notion's newer pages call it a connection) for your workspace, from the integrations link in the connector or Notion's developer portal. You need to be a workspace owner. Copy its secret from the Configuration tab; it starts with ntn_ (older ones with secret_).
  2. Open the database as a full page, click the ••• menu, choose Add connections and pick your integration. Without this, Notion hides the database from the integration and every delivery fails. Notion's authorization guide shows the menu.
  3. Copy the database's link. The 32-character string of letters and numbers before any ? is the database id. Dashes are fine; Anticode removes them.
  4. Check the name of the database's title column. In a new database it's usually Name.
  5. In Anticode's dashboard, open Connectors › Notion, fill in Integration secret, Database id and Title column, then Save and turn on and Send a test.

If you leave Title column empty, Anticode uses Name. If your title column is called something else, such as Enquiry or Lead, enter that exactly, or Notion will reject the page.

The multi-source catch

Notion now lets one database hold several data sources. Anticode's connector uses an earlier version of Notion's API (2022-06-28) and addresses the database by its id. Notion's 2025-09-03 upgrade guide says that once a second data source is added to a database, integrations on older versions can no longer create pages in it. Keep the submissions database to a single data source. If you've already added a second, create a fresh database for submissions and connect that one.

Credentials and access

  • The secret, database id and title column are sealed together with AES-256-GCM, bound to your account, and never displayed again. To change any of them, enter all three.
  • They're used only on Anticode's server to call Notion's API, never in the builder or on your pages.
  • An internal integration can only see pages you've connected it to. Connect it to the submissions database alone, not a whole teamspace.
  • Submissions include names, emails and phone numbers, so keep the database's sharing as tight as the inbox it replaces.

Troubleshooting

  • Notion answered 404: the database isn't connected to the integration, or the id is from a view or a page rather than the database.
  • Notion answered 400: usually the title column name doesn't match, or the database has more than one data source.
  • Notion answered 401: the secret was regenerated or the integration was deleted. Paste the new secret.
  • One page missing: each submission is sent once without retries. Read it in your Anticode Submissions.

Limits

Pages are only created, never updated, so two messages from the same person make two pages. One Notion connector serves every site you publish, writing to one database. At most 50 paragraphs are written per page, far more than any built-in form uses. For mapping fields into typed properties, send submissions through the webhook connector to an automation tool, or compare the simpler record shape of Airtable.

Questions people ask

Can I use a Notion personal access token instead?

The connector expects an integration secret starting with ntn_ or secret_. Use an internal integration and connect it to the database.

Will the test create a page?

Yes, one page for a sample message from "Anticode test". Delete it once you've checked.

Can it fill a Status or Email property?

No. Only the title is set; the fields are in the page body.

Sources

  1. Notion Developers: Authorization, checked
  2. Notion Developers: Upgrading to version 2025-09-03, checked