Bring your people into Staff by pasting JSON
Add the people who work for you, with their details, employment, pay, emergency contacts, qualifications and opening balances, from a JSON document.
People has Import people in its More menu. It adds people from a JSON document, with their details, employment, pay, emergency contacts, qualifications and opening time-off balances. Use it to bring in records from another app or a spreadsheet: give the export to an assistant with Copy the prompt, paste its answer into the box, and choose Preview.
The preview lists each person and every problem it found, such as a position the team does not have or a date written the wrong way. Nothing is saved until there are no problems and you choose Import. At most 500 people are imported at once.
Someone already in Staff, with the same email or staff number, is left as they are unless you tick them under Already in Staff: update these. An update changes the details the document gives and adds its emergency contacts, pay, qualifications and balances.
A spreadsheet of names, emails and phone numbers can also be imported as a CSV, from Import a spreadsheet on the same page.
The document
{
"people": [
{
"name": "Sam Sample",
"preferredName": "Sam",
"email": "sam@example.com",
"phone": "+44 7700 900123",
"address": { "line1": "1 High Street", "city": "Leeds", "postalCode": "LS1 1AA", "country": "GB" },
"staffNumber": "E-104",
"worksAs": "employee",
"jobTitle": "Head chef",
"positions": ["Chef"],
"locations": ["City Centre"],
"mainLocation": "City Centre",
"manager": "Alex Example",
"startDate": "2025-04-01",
"dateOfBirth": "1990-06-15",
"contractedHours": "37.5",
"workDays": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"emergencyContacts": [ { "name": "Jo Sample", "relationship": "Partner", "phone": "+44 7700 900456" } ],
"pay": { "basis": "yearly", "amount": "32000", "currency": "GBP", "from": "2025-04-01" },
"qualifications": [ { "kind": "Food hygiene", "issuedOn": "2025-01-10", "expiresOn": "2028-01-10" } ],
"openingBalances": [ { "policy": "Vacation", "amount": "12.5" } ]
}
]
}
Each person needs a name; everything else is optional. Dates are written
YYYY-MM-DD.
The fields
| Field | Notes |
|---|---|
name |
Required. Their full name. |
preferredName, email, phone, staffNumber, jobTitle |
|
address |
line1, line2, city, region, postalCode and country. |
worksAs |
employee, contractor, casual, seasonal or volunteer. |
positions, locations |
Names of the team's positions and locations in Staff Scheduling. |
mainLocation |
One of the team's locations. |
manager |
The name or email of someone in Staff or in the same document. |
startDate, dateOfBirth |
Dates. |
contractedHours |
Hours a week, such as 37.5 or 37:30. The team's full-time week when left out. |
workDays |
The days they work, such as ["Monday", "Friday"]. |
emergencyContacts |
Each a name, a phone or an email, and optionally a relationship. |
pay |
basis (hourly or yearly), amount, currency and the date it applies from. Only someone who can see pay can import it. |
qualifications |
Each the kind (one of the team's qualifications), and optionally issuedOn and expiresOn. |
openingBalances |
Each a time-off policy by name and the amount they have, in the policy's days or hours. |
Positions, locations, qualifications and time-off policies are matched by name and must already exist in the team. Add them first in Staff Scheduling or in Staff's Settings.
If an import is refused for a reason you can't work out, Support kontaktieren.
Den Magpie-Support fragen
Senden Sie dem Magpie-Team eine Frage zu allem, was dieser Artikel nicht beantwortet.