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

  1. Data Migration & HRIS Import
  2. Project Management (Jira, Asana, Linear)
  3. Single Sign-On (SSO/SAML)
  4. 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, balances

Only 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
💡 Pro Tip: Known Mappings If you select a known source system (e.g., Workday), Sparko uses pre-configured field mappings for instant results. For "Generic CSV," the AI analyzes your headers from scratch.

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%
✓ All mappings have >75% confidence You can edit any mapping by clicking on the Sparko field.

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:

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):

  1. People Module first - Employees, departments, locations
  2. Compensation Module - Requires employee_id from step 1
  3. Performance Module - Requires employee_id and manager_id
  4. Recruiting Module - Can be done independently
  5. 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.
  1. Go to https://id.atlassian.com/manage-profile/security/api-tokens
  2. Create new API token
  3. Copy token and paste into Sparko
Best for: Manual setup or when OAuth is restricted Option 3: Basic Auth (Jira Server/Data Center) Username and password authentication for self-hosted Jira. Security Note: Only use on trusted networks or VPN

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

  1. Open a Sparko goal
  2. Click "Link to Jira"
  3. Select "Create New Epic"
  4. Sparko creates the epic and establishes automatic sync

Method 2: Link Existing Epic

  1. Open a Sparko goal
  2. Click "Link to Jira"
  3. Select "Link Existing Epic"
  4. Enter epic key (e.g., ENG-123)
  5. Sparko validates and creates sync

Progress Syncing

Automatic Sync Methods:

  1. Story Points (Recommended)

    • Calculates: (Completed Points / Total Points) × 100
    • Works with: Jira custom fields for story points
    • AI discovers your story point field automatically
  2. Task Count

    • Calculates: (Done Tasks / Total Tasks) × 100
    • Works with: Standard Jira issue statuses
    • Best for: Teams not using story points
  3. 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:

  1. Detects the error
  2. Analyzes the root cause
  3. Fixes the configuration
  4. Retries the sync
  5. 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 Email ✅ 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:

  1. User clicks "Login with SSO"
  2. Authenticates with IdP (Okta/Azure AD)
  3. IdP sends SAML assertion to Sparko
  4. Sparko checks if user exists
  5. If not, creates employee automatically
  6. 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:

  1. Test with a single user account
  2. Verify attribute mapping is correct
  3. Check role assignment works
  4. Test logout (Single Logout)
  5. 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

  1. Use OAuth when available (more secure than API keys)
  2. Rotate API tokens annually
  3. Limit integration permissions (principle of least privilege)
  4. Monitor integration logs for unusual activity
  5. Test in sandbox first before production

Data Sync

  1. Enable webhooks for real-time updates
  2. Set reasonable sync intervals (don't overload APIs)
  3. Monitor sync logs for errors
  4. Use AI auto-healing to reduce manual fixes

Governance

  1. Document integrations (who uses them, why)
  2. Review quarterly (remove unused integrations)
  3. Audit access (who can configure integrations)
  4. 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:

Provide:

  • Integration type
  • Company ID
  • Error message
  • Steps to reproduce
  • Screenshots