> ## Documentation Index
> Fetch the complete documentation index at: https://docs.thread.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Kantata (coming soon)

> Spin up Kantata projects automatically when deals close. Resource by role, sync milestones, and link projects back to the Salesforce opportunity.

<Note>
  Kantata support is **coming soon**. The pages below describe how it will work — get in touch if you want early access.
</Note>

If your services team runs in Kantata (formerly Mavenlink) and your CS team runs in Thread, the gap between "deal closed" and "project staffed" is where weeks get lost. Connecting Kantata closes it: the moment Closed Won fires, Thread can stand up the project, allocate hours by role, and hand the PM a ready-to-run delivery plan.

<Frame>
  <img src="https://mintcdn.com/threadsolutionsinc/MFTGqD087bXZP0ze/images/screenshots/integrations/kantata-workflow.png?fit=max&auto=format&n=MFTGqD087bXZP0ze&q=85&s=fc0fb8086f559df04596bdc1d10c6f92" alt="Workflow builder with a Salesforce trigger feeding into a Create Kantata Project action node, with role and hour allocation in the inspector panel" width="2560" height="1508" data-path="images/screenshots/integrations/kantata-workflow.png" />
</Frame>

## What you can build

<CardGroup cols={2}>
  <Card title="Customer kickoff & onboarding" icon="rocket" href="/use-cases/kickoff-onboarding">
    A single workflow that spins up the Kantata project, applies the success plan, and books the kickoff call.
  </Card>

  <Card title="CSM assignment" icon="user-plus" href="/use-cases/csm-assignment">
    Resource consultants by role and availability — not by who replied first to a Slack message.
  </Card>

  <Card title="Success plans" icon="map" href="/use-cases/success-plans">
    Keep the Kantata project plan and the Thread success plan in sync so customers see one truth.
  </Card>

  <Card title="Customer handover" icon="handshake" href="/use-cases/customer-handover">
    Hand the PM a project that already knows the scope, owner and exec context.
  </Card>
</CardGroup>

## Connect Kantata

<Steps>
  <Step title="Open Connectors → Kantata → Connect">
    Go to **[Connectors → Kantata](https://stitch.thread.app/home/connectors/kantata)** in Thread, click **Connect**, and sign in to Kantata as an account admin to approve the OAuth scope. Thread connects via the legacy `app.mavenlink.com` OAuth domain — that's expected; Kantata still uses the Mavenlink OAuth host.
  </Step>

  <Step title="Pick a default project template">
    Under **[Connectors → Kantata](https://stitch.thread.app/home/connectors/kantata)**, choose which Kantata project template Thread instantiates by default. You can override per-workflow.
  </Step>

  <Step title="Map roles to your resourcing model">
    Tell Thread which Kantata roles correspond to "Solutions Architect", "Project Manager", "Implementation Engineer" etc. so role-based allocations apply correctly when projects are created.
  </Step>
</Steps>

## Use Kantata in a workflow

Drop a **Create Kantata project** action node anywhere downstream of an account-creating trigger. The node takes:

| Field                      | What it does                                                                          |
| -------------------------- | ------------------------------------------------------------------------------------- |
| **Project template**       | The Kantata template to clone from (e.g. "Standard implementation").                  |
| **Project name**           | Supports variables — `{{ account.name }} — Implementation` is the common pattern.     |
| **Resource roles & hours** | Hours per role; Kantata resourcing then assigns specific consultants by availability. |
| **Linked opportunity**     | Auto-set from the Salesforce trigger upstream. Lives on the project for traceability. |

A common pattern: gate the action on a **services hours > 0** branch off the Salesforce trigger, so non-services deals don't accidentally create empty Kantata projects.

## Tips from the field

<CardGroup cols={2}>
  <Card title="One template per segment" icon="copy">
    Enterprise vs SMB usually need different role mixes. Branch by ARR and pick the template up front.
  </Card>

  <Card title="Map roles, not people" icon="user-tag">
    Role-based allocations survive team changes. Hardcoded names don't.
  </Card>

  <Card title="Link to Salesforce" icon="link">
    The opportunity link lives on the Kantata project so finance and delivery share one ID.
  </Card>

  <Card title="Notify the PM" icon="bell">
    Add a Slack or email handover step right after project creation so the PM isn't surprised.
  </Card>
</CardGroup>

## Troubleshooting

<AccordionGroup>
  <Accordion title="OAuth fails with `unauthorized_client`">
    Confirm the Kantata client ID configured for your environment matches the OAuth app you're authorizing against. Sandbox/staging Kantata accounts need a separate client ID.
  </Accordion>

  <Accordion title="Project created but resources are empty">
    Role mappings haven't been set, or the roles in the Kantata template don't match what Thread is sending. Check **[Connectors → Kantata](https://stitch.thread.app/home/connectors/kantata) → Role mapping**.
  </Accordion>

  <Accordion title="Project doesn't link to the opportunity">
    The action only links automatically when the workflow is triggered by a Salesforce node upstream. For HubSpot or manual triggers, set the opportunity reference explicitly in the action's inspector.
  </Accordion>

  <Accordion title="Disconnecting and reconnecting">
    Disconnecting stops new project creation but does not affect existing Kantata projects. Tokens are revoked from Kantata's side; reconnect from **[Connectors → Kantata](https://stitch.thread.app/home/connectors/kantata)** to restore the integration.
  </Accordion>
</AccordionGroup>

## Next steps

<CardGroup cols={2}>
  <Card title="Customer kickoff & onboarding" icon="rocket" href="/use-cases/kickoff-onboarding">
    The full services-handoff workflow, from Closed Won to staffed project.
  </Card>

  <Card title="Salesforce" icon="bolt" href="/integrations/salesforce">
    The most common upstream trigger for Kantata project creation.
  </Card>
</CardGroup>
