Skip to main content

Thread Transfer

Context preservation across AI tools: A portable solution

Slack context shouldn't die when it hits Linear. Here's how portable bundles solve cross-tool context loss.

Jorgo Bardho

Founder, Thread Transfer

March 26, 20258 min read
context portabilityAI context transfercross-tool AI
Context flowing between tools via bundles

Context doesn't stay in one place. A customer support thread starts in Slack, moves to a ticket in Zendesk, then gets escalated to a Jira issue. At each step, context gets lost. Agents re-ask questions. Engineers dig through Slack archives. Everyone wastes time. The root cause? Context isn't portable. Here's how to fix it.

The portability problem

Each tool stores context in its own format:

  • Slack: JSON with messages, reactions, threads
  • Zendesk: Ticket fields, comments, tags
  • Linear: Issues, descriptions, relationships
  • Jira: Tickets with custom fields, attachments, history

When you move context between tools, you have two bad options:

  1. Paste raw text: Dump the Slack thread into a Zendesk comment. Loses structure, timestamps, and authorship.
  2. Link to the original: Add a Slack link to the ticket. Agents have to click away, search through noise, and reconstruct context manually.

Neither works at scale. You need a portable format that preserves structure, compresses noise, and integrates cleanly with downstream tools.

What makes context portable

Portable context is:

  • Structured: Not raw text. Schema-based with facts, decisions, references.
  • Self-contained: Includes everything needed to understand the situation without external lookups.
  • Compact: Distilled from 200 messages to 20 key points.
  • Audit-ready: Timestamped, immutable, with links back to original sources.
  • Tool-agnostic: Works in Slack, Zendesk, Linear, Jira, or any system with an API.

The bundle approach

Instead of dumping raw threads, we distill conversations into bundles—structured blocks that travel between tools. A bundle contains:

  • Facts: Extracted entities (account ID, error code, product version)
  • Decisions: What was decided, by whom, and when
  • References: Links back to original messages for audit trails
  • Summary: Human-readable overview for quick onboarding

Bundles are JSON objects with a stable schema. They can be:

  • Attached to Zendesk tickets as structured metadata
  • Posted to Linear issues as descriptions
  • Stored in a database for retrieval by AI agents
  • Sent via API to any downstream system

Example: Slack → Zendesk → Linear

Step 1: Capture context in Slack

A customer reports a bug in #support. The thread grows to 47 messages with screenshots, error logs, and troubleshooting steps.

Step 2: Distill into a bundle

An AI reads the thread and extracts:

{ "facts": [ {"key": "account_id", "value": "acme-corp-123"}, {"key": "error_code", "value": "ERR_TIMEOUT"}, {"key": "product_version", "value": "2.4.1"} ], "decisions": [ {"text": "Escalated to engineering", "by": "support-agent", "at": "2025-03-26T14:32:00Z"} ], "references": [ {"type": "slack_message", "url": "https://slack.com/archives/C123/p1234567890", "text": "Error log screenshot"} ], "summary": "User reports timeout errors in v2.4.1. Reproduced on staging. Escalated to eng." }

Step 3: Create Zendesk ticket with bundle

The bundle is attached to the ticket as structured metadata. The agent sees:

  • Summary: Timeout errors in v2.4.1, reproduced on staging
  • Key facts: account_id, error_code, product_version
  • References: Links to Slack messages with screenshots

No need to read 47 messages. The agent gets full context in 15 seconds.

Step 4: Escalate to Linear

Engineering needs to fix the bug. The Zendesk agent creates a Linear issue and includes the bundle:

Title: [Bug] Timeout errors in v2.4.1

Description:
[Bundle summary + facts + references]

Original Slack thread: [link]
Zendesk ticket: [link]

Engineers get the full story without digging through Slack or Zendesk. Context travels cleanly across all three tools.

Integration patterns

Here's how to integrate bundles into your workflow:

Pattern 1: API-based transfer

When context moves from Tool A to Tool B:

  1. Extract facts/decisions from Tool A using an AI
  2. Generate a bundle (JSON object)
  3. POST the bundle to Tool B's API as structured metadata

Works for: Slack → Zendesk, Zendesk → Linear, Intercom → Jira

Pattern 2: Embedded bundles

Store bundles as JSON in a custom field or comment. Example:

Zendesk custom field: ai_context_bundle
Value: [JSON bundle]

The agent UI can parse and display the bundle in a readable format.

Pattern 3: Bundle database

Store bundles in a central database. Attach a bundle_id to tickets/issues/threads. Downstream tools retrieve the bundle via API when needed.

Works for: Multi-tool workflows with many handoffs

Implementation steps

  1. Define your bundle schema: What facts, decisions, and references matter for your workflow?
  2. Build extraction logic: Use a small LLM to parse conversations and generate bundles.
  3. Integrate with target tools: Use APIs to attach bundles to tickets, issues, or records.
  4. Surface bundles in UIs: Make sure agents/engineers see the bundle without extra clicks.
  5. Maintain audit trails: Link bundles back to original messages for compliance.

Benefits

  • No repeated questions: Agents get full context upfront
  • Faster resolution: Less time digging through old threads
  • Audit-ready: Links back to original sources for compliance
  • Token savings: Distilled bundles are 40-80% smaller than raw threads
  • Tool-agnostic: Works across Slack, Zendesk, Linear, Jira, and more

How Thread-Transfer solves this

This is exactly what we built. Thread-Transfer distills long conversations into portable bundles that integrate with your existing tools. Instead of pasting raw Slack threads into Zendesk, you attach a structured bundle. Agents get the full story in seconds. Engineers don't dig through noise.

Bundles include:

  • Facts (entities, error codes, account IDs)
  • Decisions (what was resolved, by whom, when)
  • References (links to original messages)
  • Summaries (human-readable overviews)

And they work everywhere: Slack, Zendesk, Linear, Jira, or your internal tools via API.

Next steps

Audit your last 10 cross-tool handoffs. How much context was lost? How many times did someone ask "Can you send me the Slack thread?" That's your opportunity cost.

Questions? Email info@thread-transfer.com