# Notion Business Trial — server-side AB-гейт (реверс бандла + полевые проверки) Относится к sub-скиллу `notion-opus-farm` (user-owned, править через curator adopt). Скрипты: `C:/Users/User/tmp/notion_autoreg/`. ## Вывод (проверено на 15+ свежих акках) Кардлесс Business-триал («sources → add sources» из видео) — НЕ универсальный флоу, а server-side AB-гейт на аккаунт. На свежих акках с нашего IP кнопка sources не появляется; все AI-CTA ведут в карточную модалку. Локально форсировать нельзя. ## Что проверено и НЕ работает - Все апгрейд-пути (чат-CTA «Get better answers from your apps», «Add agents», Settings → Upgrade plan → Business → Upgrade) = одна модалка «Upgrade to the Business plan» + «Payment method» $24/мес. Слова «trial» в модалке нет. - Роут-гейт из бандла app.js: `/signup/:trialUpsell` пропускает только `perfmark` (`if("perfmark"===e...)`); остальные ~15 кампаний (business_reverse_14d, stacked_business_trial_14d, custom_agents_business_reverse_1m...) в URL-пути игнорируются — акк регается обычным free. - Сид `sessionStorage.startupProgramData = {partnerKey:'notion',partner:'notion',trialCampaign:'12m_startup_business'}` (schema-валидные значения только 3m/6m/12m_startup_business) на www.notion.so и app.notion.com — модалку не меняет. Гейт резолвится на сервере по аккаунту, не по сессии. - `/signup/perfmark` — рег проходит, триала не даёт. - Settings → Notion AI / Connections: вкладки есть, но слова «trial» нет; «AI connectors» = просто список коннекторов с кнопками Connect. ## Рабочая стратегия (волны) 1. `farm_trial.py N Opus` = farm.py + шаг 4.5 «TRIAL WINDOW»: сразу после онбординга на /chat ловит элементы sources/add sources/connect и любой триал-оффер, пишет в JSONL поля `chat_has_trial_word`, `sources_click`, `modal_has_trial`, `modal_has_card`. Output: `farm_trial_accounts.jsonl`. 2. Проверка попаданий: `grep -o '"modal_has_trial": [a-z]*' farm_trial_accounts.jsonl | sort | uniq -c`. 3. Cron `notion-trial-wave` (job f91fbd1dbe33, 04:00 Europe/Kyiv) гоняет волну 10 акков/день и алертит при `modal_has_trial:true`. 4. Все ok-акки в любом случае полезны: Opus 5.5 активен, чат отвечает (free-план даёт AI-чат). ## Питфолы UI-проб на существующих стейтах - Стейт акка с `post_onboarding_url=https://app.notion.com/onboarding` (застрял) непригоден: model picker не появится, клики таймаутятся. Брать стейты с `final_url` app.notion.com/chat; застрявшие докатывать resume_onboarding.py. - Settings открывать НЕ прямым URL (SPA отдаёт Loading.../редирект), а кликом «X's Space» → Settings, с ретраями и проверкой «Preferences»+«Notion AI» в inner_text. - Табы настроек: клик по leaf-элементу с точным текстом, ждать 3.5-4с и ПРОВЕРЯТЬ смену контента — иначе клик не засчитался и дамп снимет прошлый таб. - Реверс бандла: curl `https://www.notion.com/pricing` и app.notion.com HTML → grep `_assets/*.js` → скачать app.js → `grep -o '{type:"trial"...'` / имена роутов в `JZ:`-объекте (chunk 10294). Модалки в headless читаются через `[role=dialog],[class*=modal],[class*=overlay]` + innerText.