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

  1. Data Migration & HRIS Import
  2. Assistant Connectors (Google Calendar, Linear, Notion)
  3. Project Management (Jira, Asana, Linear)
  4. Single Sign-On
  5. 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: "[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 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

AI Allowance

AI-assisted import features (field mapping, duplicate detection) count toward your plan's monthly AI allowance, like other AI actions. Previews, validation, data transformation, and CSV template generation are always included. See the AI governance guide for how allowances work on your plan.


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? 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

  1. Go to Admin Settings > Integrations > Linear.
  2. Click Connect Linear.
  3. Approve the connection on Linear's screen. Sparko asks for read access only.
  4. 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

  1. Go to Admin Settings > Integrations > Notion.
  2. Click Connect Notion.
  3. On Notion's approval screen, choose which pages to share with Sparko.
  4. You land back on the Notion tab with a Connected badge.
Choose the pages carefully Sparko searches everything the connection can reach, as one workspace. Share only the pages you are comfortable being searchable through the assistant. Notion's approval screen is where you pick them, so it is worth pausing on that step.

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.


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

Not self-serve yet. There is no Project Management screen in Admin Settings today. The Jira connection is set up by Sparko support on request; everything below describes what that connection then does. The self-serve Integrations section covers Slack, Teams, API keys and webhooks.

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.

This planned goal sync is separate from the Linear connector above, which is live today and feeds work activity to the AI Assistant.

Features:

  • Create Linear projects from goals
  • Track issue completion
  • Sync sprint progress
  • Webhook support

Single Sign-On

SAML single sign-on is not available yet. You cannot currently connect an identity provider like Okta or Microsoft Entra ID to Sparko. If SAML is a requirement for your company, contact support so we can factor it into our plans.

What you can use today:

  • 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

External e-signature providers aren't connected yet. Sparko doesn't currently integrate with DocuSign, PandaDoc, Adobe Sign, or HelloSign.

What Sparko does include: a built-in typed e-signature for employee documents. HR can request a signature when uploading a document (or later), and the employee signs by typing their name after an explicit consent step. An evidence record is kept (signer name, time, IP address, browser, and a hash of the signed file), and signed documents can't be deleted without a dedicated permission. This is a typed electronic signature, not an eIDAS advanced or qualified signature.

For the offer letter, download it as a PDF (see the Recruiting guide) and route it through your own signing process if you need an external provider's signature.


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

Still need help? Reach us at [email protected].

← Back to Help Center