Files
logos-web/docs
JulesandFelicio 77d83d2f1e feat: route all three intake forms to Notion & CiviCRM
* add forms for CRM funnels

* a

* feat(civi-crm): add notion-coalition-partner API route

Accepts coalition-partner form submissions and writes them to a
Notion DB. Resolves numeric IDs for country, skills and chat service
to human-readable labels. Same hCaptcha guard pattern as afform-submit.
Includes CORS headers for cross-origin requests from apps/web.

* feat(web): wire coalition-partner form to Notion API route

* fix(web): checkbox default value and broken checked visual state

Checkboxes were initialising to true instead of false, causing unchecked
submissions to send true to the API. peer-checked: on the Check icon also
never fired because it is not a direct sibling of the peer input -- replaced
with group-has-[input:checked]: which works via the label's group class.

* chore(civir-crm-api): suppress unused variable warnings in coalition-partner route

* fix(civi-crm): set CORS headers for public API routes via next.config

* set profile and lead source

- https://civicrm.logos.co/civicrm/admin/afform/submissions#/?name=afformActivistBuilder
- https://civicrm.logos.co/civicrm/contact/view?reset=1&cid=1000
- https://civicrm.logos.co/civicrm/contact/view?reset=1&cid=1000
- https://civicrm.logos.co/civicrm/contact/view/case?reset=1&id=388&cid=1000&action=view&context=case&selectedChild=case&key=CRMCaseFormSearch3vjNUK027Z0YMdmpnTbHyNePydwogixSnFN3Z2YluYYR4_8939

* default checkboxes to true

* remove titles

* u

* add policy

* t

* fix(civi-crm): avoid readonly env writes in CORS test

Use a keyed env helper in the public CORS test so cleanup and setup no longer rely on delete or readonly typed env properties.

* fix(web): align node programme route keys

Rename node program route/message keys to node programme and update links, metadata, sitemap entries, and contract tests.

* chore(civi-crm): lint:fix

* docs(funnel): document Notion intake CRM setup

Add funnel docs covering goals, property mapping, completed schema DDL,
Hide-when-empty limitations, manual UI checklist, and implementation roadmap.

* feat(civi-crm): add Notion lib for funnel intake submissions

Self-contained maps, property builder, and submitToNotion with
Organization option matching and Notion-Version 2026-03-11.

* docs(funnel): add implementation guide and sync status

Document phased steps, Notion lib layout, and refresh README/roadmap
for completed schema and submitToNotion work still pending wiring.

* docs(funnel): expand implementation steps and Notion lib notes

Document goals per phase, legacy route vs src/lib/notion/, and link
schema mapping to the code.

* refactor(civi-crm): extract Afform submit into submit-afform lib

Decouple CiviCRM writes from the afform-submit route for upcoming
Notion + CiviCRM orchestration.

* feat(civi-crm): add funnel intake submit disable flags

FUNNEL_INTAKE_NOTION_DISABLED and FUNNEL_INTAKE_CIVICRM_DISABLED opt out
per destination; unset means submit (default).

* feat(civi-crm): orchestrate afform-submit with Notion and CiviCRM

Verify hCaptcha once; Notion required when enabled, CiviCRM best-effort.
Point coalition partner at the shared endpoint; add CORS for public web.

* feat(civi-crm): set Notion BU to Movement on funnel intake

* chore(civi-crm): remove notion coalition partner route

* docs(civi-crm): document funnel intake endpoint and env

* docs(funnel): document orchestrator, env flags, and BU default

* docs(funnel): document cleanup completion and deploy checklist

Record removal of notion-coalition-partner, single afform-submit path,
and non-local Notion env requirements for operators.

* docs(funnel): replace per-phase docs with consolidated AGENTS.md

Merge README, implementation, and notion-database into a single
agent-targeted reference covering request flow, code layout, env vars,
and the full IFT BD CRM schema (all 32 properties, funnel relevance
annotated).

* refactor(civi-crm): rename NOTION_COALITION_PARTNER_DB_ID to NOTION_DB_ID

* docs: rename NOTION_COALITION_PARTNER_DB_ID to NOTION_DB_ID

* feat(notion): add scorecard page content to funnel form submissions

heading_2, four bulleted_list_item blocks, and a paragraph for the
overall fit line using proper Notion block types.

* refactor(civi-crm): drop wildcard CORS from afform-submit

Rely on the public-cors middleware for origin allowlisting instead of
emitting Access-Control-Allow-Origin: * and a redundant OPTIONS handler.

---------

Co-authored-by: Felicio <felicio@users.noreply.github.com>
2026-06-02 16:09:03 +09:00
..
2026-05-19 17:57:00 +09:00
2026-06-01 17:02:04 +09:00
2026-05-19 17:57:00 +09:00