International expansion Checklist¶
Overview¶
This page lists what Q Branch needs to verify or build when Alan expands to a new country. It covers every area Q Branch owns: User Lifecycle, On-Call Scheduling, Grid / Salary Sync, Hiring & Pre-Onboarding, Reviews, and the Automation Platform (Activepieces).
Guiding principle: simplicity first. If a change is not needed for the first cohort of Alaners in the new country, defer it explicitly and log it as a known limitation.
1. User Lifecycle¶
User lifecycle handles onboarding, offboarding, and role syncing for every Alaner across all tools. Each country backend requires its own set of lifecycle tasks.
Checks¶
- [ ] Backend lifecycle tasks β add
alan-{cc}-backend-onboarding,alan-{cc}-backend-offboarding, andalan-{cc}-backend-role-synctasks (prod + staging + demo) in the User Lifecycle Tasks β§ database. Follow the pattern of existing countries. - [ ] SCIM API adapter β Q Branch provides and maintains the
GenericScimAdapterframework. The country eng team owns the adapter implementation for the new country. Until it is ready, manual user add/remove is the fallback β document this explicitly.
2. On-Call Scheduling¶
On-call schedules are generated up to 60 days in advance, accounting for leaves and roster changes. Several pieces of the scheduling logic carry assumptions that may not hold for every country.
Checks¶
- [ ] Work week β if the new country operates on a non-standard work week (e.g. not MonβFri), the on-call day selection logic needs targeted code changes. Raise a Linear issue early β this is not a trivial change.
- [ ] Public holidays β confirm the country's public holidays are present in the bank holiday calendar so they are excluded from on-call shifts. The calendar data is owned by the Data team (Turing); verify it is correctly populated before go-live.
- [ ] OOO counting β verify that country-specific calendar events (e.g. reduced working hours
during local observances) are not incorrectly counted as paid OOO.
eu_toolsdoes not track hours worked, but calendar events can interfere β check with the country team. - [ ] Timezone β the Slack bot clears OOO status based on CET. For countries with a significantly different timezone, OOO may clear at unexpected times. Decide whether to fix or log as a known limitation.
3. Grid / Salary Sync¶
Alan Home syncs calculated salaries to BambooHR. The sync logic can carry assumptions about salary structure that may not apply in every country.
Checks¶
- [ ] Confirm the payroll system β identify which payroll tool the new country will use and how salaries are structured (single gross figure vs. multi-component). This is a blocker: do not start implementation until People confirm this.
- [ ] Update the sync β if the country's salary structure differs from existing ones, update the Alan Home β BambooHR salary sync accordingly.
- [ ] OOO / paid leave system β confirm which system tracks paid leave for the new country and whether any integration work is needed beyond BambooHR.
4. Reviews¶
Reviews in Alan Home are tied to review cycles and smart groups. Country-specific employment rules (e.g. probation duration) may require a dedicated configuration.
Checks¶
- [ ] Country review smart group β add or extend a smart group to scope the new country's Alaners for the relevant review template. This is usually sufficient; no country-aware config refactor is needed.
- [ ] Country-specific rules β if the new country has specific probation or review rules, coordinate with People on the template content. Model the eligibility via the smart group.
5. Hiring & Pre-Onboarding¶
Pre-onboarding automates equipment provisioning, buddy assignment, and access setup before day one.
Gated on legal entity creation
This feature requires the legal entity to exist in the new country. An Employer of Record (EOR) arrangement is not sufficient for automated flows.
Checks¶
- [ ] Pre-onboarding flow β build or extend the pre-onboarding flow for the new country. Coordinate with People on the content (equipment list, training links, buddy assignment rules).
- [ ] Contract templates β a country-specific contract template is needed in Alan Home. The template content (clauses, language requirements, salary structure) is owned by Legal/People; Q Branch surfaces it in the UI.
6. Automation Platform (Activepieces)¶
Activepieces flows are country-agnostic by design. No changes are needed when opening a new country.