Integrations & External Services
Available in: Professional, Business, Enterprise tiers
Sparko integrates with popular tools to streamline workflows and automatically sync data across your tech stack.
Table of Contents
- Data Migration & HRIS Import
- Project Management (Jira, Asana, Linear)
- Single Sign-On (SSO/SAML)
- E-Signature
Data Migration & HRIS Import
Overview
Available in: All tiers (features vary by tier) 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 — reach them by asking Sparko support to run the import for you, rather than through a self-serve screen. There is no Learning or Expenses module in Sparko, so there's nothing to import for those.
Supported Source Systems:
- 💼 HRIS: Workday, BambooHR, SAP SuccessFactors, ADP, Gusto
- 🎯 ATS: Greenhouse, Lever, Workable
- 📄 Generic CSV: Any custom format
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 — 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
Go to Settings > Integrations > Data Migration or use the Data Import wizard during onboarding.
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
Choose your current HRIS/ATS for optimized field mapping, or select "Generic CSV" for custom formats.
Supported Systems:
- Workday - Enterprise HRIS
- BambooHR - SMB HRIS (most popular)
- SAP SuccessFactors - Enterprise HRIS
- ADP - Payroll & HRIS
- Gusto - SMB Payroll
- Greenhouse - ATS (recruiting)
- Lever - ATS (recruiting)
- Workable - ATS (recruiting)
- Generic CSV - Any custom format
4. Upload CSV File
Click Choose File and select your exported CSV. Sparko accepts files up to 50MB (approximately 100,000 rows).
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: "jsmith@company.com" 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 rows Cost: $0.32 (AI field mapping + duplicate detection)AI-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:
- john.smith@company.com vs john.smith@newdomain.com (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
Pricing
AI Import Costs (Professional+ tiers):
| File Size | Typical Cost | What's Included |
|---|---|---|
| Small (<100 rows) | $0.10 - $0.20 | AI field mapping + duplicate detection |
| Medium (100-1000 rows) | $0.20 - $0.50 | AI field mapping + duplicate detection |
| Large (1000+ rows) | $0.50 - $2.00 | AI field mapping + duplicate detection |
What's Free:
- ✅ Data transformation (dates, currency, names)
- ✅ Validation and error reporting
- ✅ Preview mode (unlimited previews)
- ✅ CSV template generation
Included in All Tiers:
- Starter: 500 rows/month free
- Professional: 2,000 rows/month free
- Business: 10,000 rows/month free
- Enterprise: Unlimited
FAQ
Q: Can I import data from multiple HRIS systems? Yes! Import from Workday, then Greenhouse, then any other system. 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? Not directly. Export your Excel file as CSV first (File > Save As > CSV).
Q: Can I schedule recurring imports? Yes (Business+ tiers). Set up scheduled imports for continuous sync. Coming Q1 2026.
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.
Project Management Integrations
Overview
Connect Sparko goals (OKRs) to external project management tools for automatic progress syncing.
Supported Tools:
- 🔷 Jira (Cloud & Server)
- 🎨 Asana
- 📐 Linear
- 📋 Monday.com
- ✅ ClickUp
- 📌 Trello
Jira Integration
Connect Jira to Sparko goals for automatic progress tracking.
Setup Steps
1. Enable Jira Integration
Navigate to Settings > Integrations > Project Management and click Connect Jira.
2. Choose Authentication Method
Jira Authentication Options Option 1: OAuth 2.0 (Recommended for Jira Cloud) Most secure method. Sparko redirects you to Atlassian for authorization. Best for: Jira Cloud customers who want one-click setup Option 2: API Token (Jira Cloud) Use your Atlassian API token for authentication.- Go to https://id.atlassian.com/manage-profile/security/api-tokens
- Create new API token
- Copy token and paste into Sparko
3. Configure Settings
Jira Configuration Jira URL Default Project Key Sparko will create epics in this project by default Progress Calculation Method AI-Powered Field Mapping: Sparko automatically discovers custom fields in your Jira instance. No manual configuration needed!Linking Goals to Jira
Two ways to connect:
Method 1: Create New Epic from Goal
- Open a Sparko goal
- Click "Link to Jira"
- Select "Create New Epic"
- Sparko creates the epic and establishes automatic sync
Method 2: Link Existing Epic
- Open a Sparko goal
- Click "Link to Jira"
- Select "Link Existing Epic"
- Enter epic key (e.g.,
ENG-123) - Sparko validates and creates sync
Progress Syncing
Automatic Sync Methods:
Story Points (Recommended)
- Calculates:
(Completed Points / Total Points) × 100 - Works with: Jira custom fields for story points
- AI discovers your story point field automatically
- Calculates:
Task Count
- Calculates:
(Done Tasks / Total Tasks) × 100 - Works with: Standard Jira issue statuses
- Best for: Teams not using story points
- Calculates:
Manual Percentage
- Uses: Epic progress field in Jira
- Fallback to task count if not set
Real-Time Updates:
Sparko receives webhooks from Jira when:
- Epic status changes
- Child issues are completed
- Story points are updated
Sync Frequency:
- Webhooks: Instant (real-time)
- Fallback polling: Every 60 minutes
AI Auto-Healing
What It Does:
If Jira sync fails (schema changes, field renames, API errors), Sparko's AI agent automatically:
- Detects the error
- Analyzes the root cause
- Fixes the configuration
- Retries the sync
- Logs the healing action
Example:
Your Jira admin renames "Story Points" → "Effort Points". Sparko's AI:
- Detects the sync failure
- Discovers the new field name
- Updates the mapping
- Resumes syncing successfully
No manual intervention required! 🎉
Asana Integration
Similar to Jira: Connect goals to Asana projects for progress tracking.
Supported Objects:
- Projects → Goals
- Sections → Milestones
- Tasks → Key Results
Linear Integration
Developer-focused: Sync engineering goals with Linear issues.
Features:
- Create Linear projects from goals
- Track issue completion
- Sync sprint progress
- Webhook support
Single Sign-On (SAML)
Available in: Business, Enterprise tiers
Overview
Enable SSO to allow employees to login with their corporate identity provider (IdP).
Supported Identity Providers:
- Okta
- Azure AD (Microsoft Entra ID)
- Google Workspace
- OneLogin
- Auth0
Benefits:
- One-click login for employees
- Centralized user management
- Automatic provisioning/deprovisioning
- Enhanced security (MFA via IdP)
Setup Guide
Step 1: Configure IdP in Sparko
Navigate to Settings > Security > Single Sign-On.
SAML Configuration Identity Provider SSO URL (from IdP) Entity ID X.509 Certificate ⚠️ Security: Keep your SAML certificate secure. Rotate it annually.Step 2: Configure Sparko in Your IdP
Give your IT team these values to configure Sparko in your IdP:
Service Provider (SP) Information Assertion Consumer Service (ACS) URL:https://sparko.app/auth/saml/acs
SP Entity ID:
https://sparko.app
Metadata URL (for auto-configuration):
https://sparko.app/auth/saml/metadata?company_id=YOUR_COMPANY_ID
💡 Tip: Most IdPs can auto-configure using the metadata URL. This is the easiest method!
Step 3: Attribute Mapping
Map SAML attributes to Sparko fields:
| SAML Attribute | Sparko Field | Required |
|---|---|---|
email or nameID |
✅ Yes | |
firstName |
First Name | ✅ Yes |
lastName |
Last Name | ✅ Yes |
department |
Department | Optional |
jobTitle |
Job Title | Optional |
manager |
Manager Email | Optional |
Step 4: Just-In-Time (JIT) Provisioning
Enable auto-provisioning:
When a new user logs in via SSO for the first time, Sparko can automatically create their employee record.
Settings:
- ☑️ Enable JIT Provisioning
- Default Role:
Employee - Default Department:
General - Default Status:
Active
How It Works:
- User clicks "Login with SSO"
- Authenticates with IdP (Okta/Azure AD)
- IdP sends SAML assertion to Sparko
- Sparko checks if user exists
- If not, creates employee automatically
- User lands on dashboard
Security:
- Only users from your IdP can login
- Roles must be assigned separately (not auto-granted)
Testing SSO
Before enabling for all users:
- Test with a single user account
- Verify attribute mapping is correct
- Check role assignment works
- Test logout (Single Logout)
- Verify de-provisioning (when users are disabled in IdP)
Common Issues:
- "Invalid signature" → Check certificate is copied correctly
- "User not found" → Enable JIT provisioning or pre-create users
- "Wrong attributes" → Verify attribute mapping in IdP
E-Signature Integrations
In-product e-signature isn't available yet. Sparko doesn't currently connect to an external signing provider (DocuSign, PandaDoc, Adobe Sign, HelloSign) and has no built-in signing workflow you can use — so there's no way to route a document for signature inside Sparko today.
For the one document you'll most often need signed, the offer letter, download it as a PDF (see the Recruiting guide, "Downloading the offer letter") and route it through your own signing process. Contracts, NDAs, and policy acknowledgments likewise need to be signed outside Sparko for now.
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
- Use AI auto-healing to reduce manual fixes
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
- Let AI auto-healing attempt fix
"Data not syncing"
- Verify field mappings are correct
- Check if external item exists
- Review sync frequency settings
Getting Help
Contact Support:
- Email: support@sparko.app
- In-app chat: Click "?" icon
- Status page: status.sparko.app
Provide:
- Integration type
- Company ID
- Error message
- Steps to reproduce
- Screenshots