Appearance
Load your people and teams
Almost everything in Flowstate is built on who works for you, what they cost and which team they're in. Work through this once when you start. Your HR or people data owner provides the data, and a Flowstate admin loads it.
Before you start
- You've decided where your people data comes from, and how you'll load it: see Get your people data into Flowstate.
- Organisation basics are done: currency and exchange rates, locations, resource types and job roles.
- Your team managers have Flowstate accounts. A team's manager is chosen from Flowstate users, so invite your managers first.
- To use the spreadsheet import, you need access to data import. Ask your Flowstate admin.
You'll find everything here under Resourcing → People and teams, on the People, Teams, Contractors and Vacancies tabs.
1. Build your team structure
What: Create your teams, each with a manager, and a parent team for each sub-team. Who: HR or people data owner, with the Engineering lead. Where: Resourcing → People and teams → Teams, then Add Team. Or import or sync teams (step 2). Done when: The Teams tab shows your hierarchy, and every team that needs one has a Manager.
Each team has a Name, a Type, a Manager, a Parent team and a Description. You can nest teams as deep as you need.
2. Load your people
What: Bring in your employees, contractors and vacancies. Who: HR or people data owner, with your technical team if you sync your HR system or use the REST API. Where: The way you chose in Get your people data into Flowstate: the spreadsheet import at Settings → Scenarios → Data Import, a sync from your HR system (see Connect your HR system), or the REST API. Done when: The People, Contractors and Vacancies tabs show everyone, with their team, job role, location and salary or rate.
If you use the spreadsheet import:
- Import in this order: teams, projects, employees, contractors, vacancies, then forecasts and allocations. People and vacancy rows can name a team or project, so those need to exist first.
- Try a few rows first. The import writes straight to your live data, not to a scenario, and it can't be undone.
Step-by-step instructions are in Data import and data migration.
If you use a custom integration, it can't set a person's location or resource type. Set those on each person in step 3.
3. Check each person's salary and details
What: Make sure every employee has a salary, a resource type and the right team. Who: HR or people data owner. Where: Select a person on Resourcing → People and teams → People to open their side panel. Done when: A sample of people across teams and countries shows the right Current salary, Employment type, Location and Current team.
- Overview shows their role, employment type (their resource type), location, team, line manager and current salary. Only people allowed to see pay see the salary.
- Schedule shows their allocations to teams and projects, and their leave.
- Compensation holds their salary history and bonuses.
To record a pay change:
- Open Compensation and select Add change.
- Enter the New Salary and its currency, and the Effective Date.
- Save the change. A future-dated change shows as Scheduled until its date.
Costs use each salary from its effective date. Each salary record has its own currency, so someone who moves country keeps their earlier history. An employee with no salary costs nothing. See How costs are calculated.
4. Add contractors
What: Add everyone you pay on a contract, with their rate, and choose how contractors are costed. Who: Finance lead, with the people data owner. Where: Resourcing → People and teams → Contractors, then Contractor. For the costing method, Settings → Finance → Frameworks & Fiscal Year, section Contractor Cost Reporting. Done when: Every contractor has a Current rate and a team, and the Reporting method is saved.
A contractor's rate is Hourly, Daily, Monthly or Annually. To change it from a date, use Adjust Rate and enter the Rate, Rate Type and Effective Date. Contractors never carry overhead.
Choose one reporting method:
| Reporting method | How each month is costed | Trade-off |
|---|---|---|
| Annualised rate ÷ 12 (recommended): the default | Like a salary: every full month costs the same. | Smooth, and matches how employees are costed. |
| Daily rate × working days | The day rate for each weekday in the month. | Closer to day-rate invoices, but monthly cost changes with the number of weekdays. |
The formulas are in How costs are calculated.
5. Add vacancies
What: Add the roles you plan to hire, so the forecast includes them. Who: HR lead or Finance lead. Where: Resourcing → People and teams → Vacancies, then Add. Done when: Each planned hire has a status, a team, a Target salary and a Start date.
A vacancy has one Target salary, a Start date and, for fixed-term roles, an End date. Set its Status in its side panel:
| Status | Meaning | In the forecast |
|---|---|---|
| Open | A planned hire. | Yes |
| Committed | A hire you're committed to making. | Yes |
| Filled | Someone has been hired. | No, once the person is linked. Their own record carries the cost. |
| Cancelled | No longer hiring. | No |
When you hire someone, select Fill this vacancy in the vacancy's side panel. The Fill Vacancy wizard creates the employee, moves the vacancy's team allocations to them, and marks the vacancy filled.
6. Allocate people to teams
What: Make sure each person's time is allocated to the team or teams they work in. Who: HR or people data owner, with team managers. Where: A person's side panel → Schedule → Allocations. Done when: Nobody you expect to be in a team shows under No team.
- Each allocation has an FTE (the share of the person's time, from 0 to 1) and start and end dates. Someone split evenly between two teams has two allocations at 0.5.
- Part-time working is shown through FTE.
- Time that isn't allocated to a team shows under No team, so a team's cost only includes the time allocated to it.
Keeping people and teams current
- If your HR system is the source of truth, make these changes there. The next sync brings them in, and puts back anything changed here that your HR system also sends.
- Someone leaves: set their end date. Flowstate asks you to confirm, then ends their active allocations on that date.
- A team closes: right-click the team, select Archive…, and pick the Archive date. From that day the team leaves the teams list and its allocations end. It stays in effort reporting for the weeks it existed. Archive sub-teams first. To change your mind before the date, select Cancel archive from the same menu.
You're set up when
- The Teams tab shows your hierarchy, with managers.
- Everyone is on the People, Contractors and Vacancies tabs, with a salary or rate.
- No team holds only people you expect to be there.
- Your Finance lead agrees that a sample team's monthly cost matches payroll, allowing for overhead.
For your technical team
Spreadsheet import
Import one .csv, .xls or .xlsx file at a time, up to 50 MB. There's no template: on Map Columns you match your own column names to Flowstate's. Projects and Forecasts & Allocations columns, and the full import steps, are in Data import and data migration.
| Record type | Columns you can map | Required |
|---|---|---|
| Teams | Team Name, Team Type, Parent Team, Manager Email, Cost Centre Code, Description | Team Name |
| Employees | First Name, Last Name, Full Name, Email, Employee ID, Team, Job Role, Job Title, Work Type, Salary, Salary Effective Date, Currency, Start Date, End Date, Manager Email, Geography/Location, FTE, Project | A first name, last name or full name |
| Contractors | Name, Email, Contractor Type, Company (Parent Contractor), Team, Rate Type, Rate, Currency, Start Date, End Date, Manager Email, Project, FTE | Name |
| Vacancies | Role / Position Name, Job Role, Status, FTE, Target Start Date, Target Fill Date, Team, Project, Geography/Location, Work Type, Salary Min, Salary Max, Currency, Hiring Manager Email, Cost Centre Code, Description | A role |
- Include every employee's work email. Flowstate uses it to recognise people you've already loaded, and to match each person to their login, your project tool and your AI providers. A row without an email still imports, but that person can't be matched until you add their email.
- Write dates as year-month-day, for example 2026-04-03.
- FTE is between 0 and 1. An employee with no start date starts today. A salary is dated by Salary Effective Date, or by the start date if that's blank.
- For vacancies, Target Fill Date sets the end date, and Salary Min and Salary Max become one target salary halfway between the two.
- A parent team can appear below its sub-teams in the file.
REST API and custom integrations
- REST endpoints: Employees, Contractors, Vacancies, Teams, Assignments (team and project allocations), Salary adjustments and Contractor rate adjustments.
- A custom integration runs your own script on a schedule to pull from your HR system. The recipe is Sync people from an HR system.
- For Workday, ADP Workforce Now, SAP SuccessFactors, Oracle Fusion Cloud HCM, BambooHR, HiBob, Personio, Rippling and Deel, and how changes arrive from each, see Connect your HR system.
Day to day
- Employees: pay changes, bonuses, leavers and each person's details.
- Contractors: rates, rate changes and how contractors are costed.
- Vacancies: planned hires, their statuses, and filling them.
- Teams: the hierarchy, managers and archiving.