Integrations & External Services
Available in: All plans
Sparko integrates with popular tools to streamline workflows and automatically sync data across your tech stack.
Table of Contents
- Data Migration & HRIS Import
- Assistant Connectors (Google Calendar, Linear, Notion)
- Single Sign-On
- E-Signature
Data Migration & HRIS Import
Overview
Available in: All tiers (features vary by tier). On Core, migration is the self-serve import plus a setup call with Sparko. Growth includes 5 days of migration help, and Business a full migration. This assistance applies when the source system has an API. Migrating from manual sources such as documents, spreadsheets and files may cost extra. AI-Powered: Yes - Auto field mapping, duplicate detection, data transformation
Sparko's AI-powered import tools automatically map fields, detect duplicates, and transform data formats - eliminating weeks of manual data entry.
Self-serve today: People module only, via the Setup wizard's import step. Recruiting, Compensation, Performance, and Time/Leave module import all have a working import service on the backend, but no settings-page UI yet. To use them, ask Sparko support to run the import for you, rather than through a self-serve screen. Learning is a built-in module with no external integration or import yet, and expense claims are not imported, so there's nothing to import for those.
Supported Source Systems:
- 💼 HRIS roster pull: Workday, BambooHR, SAP SuccessFactors
- 📄 CSV or Excel file: an export from any other system, in any column layout
What Can You Import?
- ✅ People Module: Employees, departments, locations
- 🔧 Recruiting Module: Candidates, job postings, applications
- 🔧 Compensation Module: Salary data, equity grants, merit cycles
- 🔧 Performance Module: Performance reviews, OKRs, feedback
- 🔧 Time/Leave Module: PTO requests, leave balances, timesheets
(🔧 = backend import capability exists; no self-serve UI yet, so contact support)
How It Works
Sparko's AI-powered import process has 4 steps:
1 Upload Your CSV File Export data from your current system as CSV and upload to Sparko. We accept any CSV format. 2 🤖 AI Auto-Maps Fields Our AI analyzes your column headers and automatically maps them to Sparko fields with >80% confidence. Handles synonyms, multi-language, and variations. Example: "Hire Date" → hire_date, "Join Date" → hire_date, "Date d'embauche" → hire_date 3 🔍 Preview & Validate Review the field mappings and see sample transformed data. Our AI detects duplicates, validates required fields, and shows potential errors. Duplicate Detection: Catches "John Smith" = "J. Smith" = "Smith, John" ✓ Import Complete Click "Import" to complete the process. Sparko automatically transforms dates, currency, names, and enums to the correct format.Step-by-Step Guide
1. Navigate to Data Import
Use the Import your team step of the Setup wizard.
2. Choose Import Type
Select which module you're importing data for:
Available Import Types 👥 People Employees, departments 🎯 Recruiting Candidates, jobs, applications 💰 Compensation Salaries, equity grants ⭐ Performance Reviews, OKRs 🏖️ Time/Leave PTO requests, balancesOnly People is currently self-serve, via the Setup wizard. The rest require Sparko support to run on your behalf until a dedicated settings-page UI ships.
3. Select Source System
Upload a CSV or Excel export, or pull your roster straight from your HRIS.
Roster pull:
- Workday
- BambooHR
- SAP SuccessFactors
Paste your HRIS address and API key. The key is used once and never stored. For anything else, upload an export from that system.
💡 Tip: Column headers The AI analyzes your column headers and maps them to Sparko fields.4. Upload CSV File
Click Upload CSV or Excel and select your export. Files can be up to 2MB.
CSV Requirements:
- ✅ First row must contain column headers
- ✅ UTF-8 encoding (handles international characters)
- ✅ Standard CSV format (comma-separated)
- ✅ Dates in any common format (MM/DD/YYYY, YYYY-MM-DD, DD/MM/YYYY, etc.)
5. Review Field Mappings
Sparko's AI automatically maps your columns to Sparko fields and shows you the results:
📊 Field Mapping Preview| Your Column | Sparko Field | Confidence |
|---|---|---|
| Employee ID | employee_id | 98% |
| Legal Name | full_name | 95% |
| Start Date | hire_date | 92% |
| Position | job_title | 78% |
What If Mapping Is Wrong?
- Click on any Sparko field to manually select the correct field
- Low confidence (<80%) mappings are highlighted in yellow - review these first
- You can leave unmapped columns - they'll be skipped during import
6. Preview Transformed Data
Sparko shows you sample rows with data transformations applied:
🔍 Data Preview (First 5 rows) Row 1 Valid • employee_id: "EMP-001"• full_name: "Sarah Johnson" (transformed from "Johnson, Sarah")
• hire_date: "2024-01-15" (converted from "01/15/2024")
• job_title: "Senior Engineer"
• base_salary: 120000 (parsed from "$120,000") Row 2 Possible Duplicate • full_name: "J. Smith"
• email: "[email protected]" AI Detected: This might be "John Smith" already in the system. Email domains match and names are similar. Skip this row? Import Summary: 148 rows total, 145 valid, 3 potential duplicates
7. Run Import
Click Import Data to complete the process. Sparko imports all valid rows and provides a detailed summary:
✓ Import Complete! Successfully imported 145 employees ✓ Imported: 145 rows ⊘ Skipped (duplicates): 3 rows ⚠ Errors: 0 rowsAI-Powered Features
1. Intelligent Field Mapping
Sparko's AI understands synonyms, variations, and multi-language field names:
Examples:
- "Employee Number", "Worker ID", "Staff ID", "Emp #" →
employee_id - "Hire Date", "Start Date", "Join Date", "Date d'embauche" →
hire_date - "Salary", "Base Pay", "Annual Compensation" →
base_salary - "Manager", "Reports To", "Supervisor" →
manager_id
Handles:
- Camel case, snake_case, spaces, special characters
- Multi-language headers (English, French, German, Spanish, etc.)
- Custom field naming conventions
- Abbreviations and acronyms
2. Semantic Duplicate Detection
AI catches duplicates that traditional systems miss:
Name Variations:
- "John Smith" = "J. Smith" = "Smith, John" = "Smith, J."
Email Variations:
- [email protected] vs [email protected] (company domain change)
Date Fuzzy Matching:
- Hire date 2024-01-15 vs 2024-01-16 (data entry errors within 1-2 days)
Smart Rules:
- Same name + same manager + same department = High confidence duplicate
- Same email username, different domain = Possible duplicate (company acquisition)
3. Data Transformation
Sparko automatically converts data to the correct format:
Automatic Transformations 📅 Date Formats "01/15/2024" → "2024-01-15""15-Jan-2024" → "2024-01-15"
"2024.01.15" → "2024-01-15" 💰 Currency Parsing "$120,000" → 120000
"€ 85.500,00" → 85500
"¥5,000,000" → 5000000 👤 Name Formats "Smith, John" → "John Smith"
"JOHN SMITH" → "John Smith"
"john smith" → "John Smith" ✓ Boolean/Enum Normalization "Yes" / "No" → true / false
"Full-time" → "full_time"
"Active" / "Terminated" → "active" / "terminated"
Best Practices
📋 Pre-Import Checklist ✓ Export clean data from source system (no blank rows)✓ Include all required fields (employee_id, email, hire_date, etc.)
✓ Review column headers - descriptive names help AI mapping
✓ Test with a small sample first (10-20 rows)
✓ Back up your data before importing
Import Order (for full migrations):
- People Module first - Employees, departments, locations
- Compensation Module - Requires employee_id from step 1
- Performance Module - Requires employee_id and manager_id
- Recruiting Module - Can be done independently
- Time/Leave Module - Requires employee_id and policy_id
Common Issues:
- Missing required fields: Ensure employee_id, company_id, and other required fields are present
- Invalid foreign keys: Import parent records first (e.g., employees before compensation)
- Date format errors: Use standard formats or let AI auto-detect
- Encoding issues: Save CSV as UTF-8 to preserve special characters
AI Allowance
AI-assisted import features, such as field mapping and duplicate detection, use AI actions when a model is needed. Paid Core uses its monthly allowance; paid Growth and above use fair use. Business trials use the allowance for the whole trial. Previews, validation, data transformation and CSV template generation use no AI actions. See the AI governance guide for the allowances on your plan.
FAQ
Q: Can I import data from multiple HRIS systems? Yes. Run one import per source. Sparko's duplicate detection prevents overlaps.
Q: What if my CSV has custom fields? The AI will attempt to map custom fields to Sparko fields. If no match is found, you can manually map or skip those columns.
Q: Can I undo an import? Not currently. We recommend testing with a small sample first, or using a test company account.
Q: Do you support Excel files? Yes. The team import accepts .xlsx and .xls files as well as CSV.
Q: Can I schedule recurring imports? Not currently. Imports are run manually. If you need continuous sync, the read-only API and webhooks can keep an external system up to date.
Q: Is my data secure during import? Yes. All data is encrypted in transit (TLS 1.3) and at rest (AES-256). PII fields are automatically encrypted. Imports are logged for compliance audits.
Assistant Connectors
These three connectors give the Sparko AI Assistant access to tools your company already uses. Each one is optional. Until a connector is live, the assistant simply does not offer the things it powers, so nothing in the product breaks if you never connect them.
| Connector | Who connects it | What it gives the assistant |
|---|---|---|
| Google Calendar | Each employee, from their own Account Settings | Real free/busy checks and real calendar invites for 1:1s |
| Linear | An admin, once for the company | Recent Linear issue activity as context in performance conversations |
| Notion | An admin, once for the company | Your company's own written policy when answering policy questions |
Google Calendar
Nothing for you to configure. The calendar connection is per person, not company-wide. Each employee connects their own calendar from the Calendar tab in their Account Settings, and each person can disconnect at any time.
What it does once someone has connected:
- The assistant can check that person's free/busy time when proposing a 1:1 with their manager or one of their direct reports.
- When a 1:1 is scheduled and both people have connected their calendars, Sparko creates a real Google Calendar event and invites them both.
If only one side has connected, the 1:1 is still booked in Sparko. There is just no calendar invite. Checking someone else's availability follows the same visibility rules as the rest of their people data, so a manager can check a direct report, and everybody can check themselves.
What to tell your employees: connecting is self-serve and takes one click. See the Profile Settings guide.
Linear
Who can set this up: an admin with the Manage Integrations permission.
Where: Admin Settings > Integrations > Linear.
Connect
- Go to Admin Settings > Integrations > Linear.
- Click Connect Linear.
- Approve the connection on Linear's screen. Sparko asks for read access only.
- You land back on the Linear tab with a Connected badge.
On connect, Sparko matches your Linear workspace members to Sparko employees by email address. That happens automatically, and there is nothing to map by hand.
If the member match could not run, the tab tells you so and the connection still counts as live. Disconnect and reconnect to try the match again. Until members are matched, per-person work activity comes back empty.
What it enables
Managers, and anyone else who can see their team's performance data, can ask the assistant about a report's recent Linear issue activity. It is meant as objective context for a performance conversation, alongside what is already in Sparko.
The same visibility rules apply as anywhere else. Somebody can only ask about a person whose performance data they are already allowed to see. Someone who is not matched to a Linear account simply comes back with no activity, not with somebody else's.
Disconnect
Click Disconnect on the Linear tab. The integration is switched off and the stored credential is deleted. The assistant stops offering Linear work activity straight away.
Notion
Who can set this up: an admin with the Manage Integrations permission.
Where: Admin Settings > Integrations > Notion.
Connect
- Go to Admin Settings > Integrations > Notion.
- Click Connect Notion.
- On Notion's approval screen, choose which pages to share with Sparko.
- You land back on the Notion tab with a Connected badge.
What it enables
When someone asks a policy question, the assistant can search the connected Notion workspace and answer from what your company actually wrote, rather than from generic advice.
Who can use it: this search is available to HR admins, meaning people who can edit handbooks. It is not available to every employee. Everyone else still gets policy answers from handbooks and announcements in Sparko, which is unchanged.
Disconnect
Click Disconnect on the Notion tab. The integration is switched off and the stored credential is deleted.
Single Sign-On
SAML single sign-on is set up in Settings → Security and sign-in. A Super Admin pastes the identity provider's entity ID, sign-in URL and signing certificate (Okta, Microsoft Entra ID, Google Workspace, OneLogin, JumpCloud or a custom provider), copies Sparko's entity ID, ACS URL and metadata URL into the provider, optionally maps the email and name attributes (NameID alone is enough), and switches SAML on. The page also sets whether new identity-provider users get an account automatically and which role they start with, whether signed messages and assertions are required, and whether Sparko still asks for MFA after SSO. Saving asks for your authenticator code.
Also on that page:
- Sign in with Google: admins can enable Google sign-in for the whole workspace, so employees log in with their work Google account. See Admin Settings.
- Passkeys: employees can add a passkey (fingerprint, face, or security key) for phishing-resistant sign-in. See the passkeys guide in Getting Started.
- Required MFA: admins can require multi-factor authentication for everyone. See the MFA guide.
E-Signature Integrations
Sparko has its own e-signature, so there is nothing to connect. Legal contracts and employee documents are sent for signature from Sparko: see Sending a contract for signature and Asking an Employee to Sign a Document. External providers such as DocuSign, PandaDoc, Adobe Sign and HelloSign aren't connected. Candidates accept offers in the candidate portal (see the Recruiting guide).
Until Sparko turns on the seal for your workspace, the send buttons are off with "E-signature isn't set up for this workspace yet".
Verifying a signed document
Every sealed document ends with a completion certificate that prints a verification code and a link to app.sparko.app/verify/<code>. Open the link, or open app.sparko.app/verify and type the code. The page shows the document's title, the company, when it was sealed, who signed it and in which role, the sealed file's SHA-256 hash, the timestamp authority and the seal certificate's fingerprint. It never shows email or IP addresses.
To check a file, drop the PDF on the page or press Choose a file. Your browser hashes it and compares the hash with the sealed one; the file is never uploaded. "This file matches the sealed document." means it is exactly the file Sparko sealed. "This file doesn't match. It may have been changed." means it differs, even by one byte.
If the company deleted a signed document after sealing, or the employee it belongs to was erased under a data deletion request, the page says it was withdrawn. An erased signer is listed as "Erased".
The page also links the Sparko seal certificate. To see the seal as trusted in Adobe Acrobat, add the certificate under Preferences, Signatures, Identities and Trusted Certificates.
Best Practices
Security
- Use OAuth when available (more secure than API keys)
- Rotate API tokens annually
- Limit integration permissions (principle of least privilege)
- Monitor integration logs for unusual activity
- Test in sandbox first before production
Data Sync
- Enable webhooks for real-time updates
- Set reasonable sync intervals (don't overload APIs)
- Monitor sync logs for errors
Governance
- Document integrations (who uses them, why)
- Review quarterly (remove unused integrations)
- Audit access (who can configure integrations)
- Backup data before major integration changes
Troubleshooting
Common Issues
"Connection failed"
- Check API credentials are correct
- Verify network connectivity
- Check if API endpoint changed
"Authentication error"
- Token may have expired (refresh OAuth)
- API key may have been rotated
- Check permissions in external tool
"Sync stopped working"
- Check webhook URL is still valid
- Verify external tool schema didn't change
- Review error logs for details
"Data not syncing"
- Verify field mappings are correct
- Check if external item exists
- Review sync frequency settings
Getting Help
Contact Support:
- Email: [email protected]
- In-app chat: Click "?" icon
- Status page: status.sparko.app
Provide:
- Integration type
- Company ID
- Error message
- Steps to reproduce
- Screenshots
Still need help? Reach us at [email protected].
← Back to Help Center