Skip to main content

What is a Route?

A route is a filter configuration that tells Gradial:
  • Which tickets to ingest — Based on project, status, labels, or custom queries
  • How to organize them — Flat (all siblings) or hierarchical (preserving parent-child relationships)
  • Where to place them — The destination folder in Gradial

Creating a Route

  1. Go to Organization Settings → Integrations
  2. Select your integration (Jira, Wrike, or Workfront)
  3. Click Add Route
  4. Configure your filters (see system-specific options below)
  5. Choose your ingestion mode
  6. Click Save Route

Ingestion Modes

Hierarchical ingestion preserves the organizational structure from your external system:
  • Parent-child relationships are maintained
  • Epics contain their stories, projects contain their tasks
  • Context flows from parent to child threads
  • Items are automatically classified as folders or tickets
When to use: Most production scenarios where organizational context matters.

Flat Ingestion

Flat ingestion pulls tickets as a simple list:
  • All tickets become siblings at the same level
  • No parent-child relationships preserved
  • Simpler but loses organizational context
When to use: Simple use cases where hierarchy doesn’t matter, or when testing.

How Hierarchical Classification Works

When using hierarchical ingestion, Gradial automatically determines whether each item is a folder (organizational container) or ticket (actionable work): Classification priority:
  1. Has children — Items with child items are always classified as folders
  2. System container types — Known container types (Epics, Projects, Portfolios) become folders
  3. AI classification — For ambiguous items, AI analyzes the title and description to determine intent
This means an Epic with Stories will always be a folder containing ticket children, while a standalone Bug will be a ticket.

System-Specific Filter Options

Jira Filters

FilterDescriptionExample
ProjectLimit to specific Jira projectsPROJ, TEAM
Issue TypeFilter by issue typeEpic, Story, Task, Bug
JQL QueryAdvanced filtering with Jira Query Languageproject = PROJ AND status = "In Progress"
LabelsFilter by Jira labelsgradial, ai-process
JQL Examples:
  • All open bugs: project = PROJ AND type = Bug AND status != Done
  • Recently updated: project = PROJ AND updated >= -7d
  • Specific epic’s children: "Epic Link" = PROJ-123

Wrike Filters

FilterDescriptionExample
SpaceLimit to specific Wrike spacesMarketing, Engineering
FolderFilter to specific foldersQ4 Campaigns
StatusFilter by task statusActive, Completed

Workfront Filters

FilterDescriptionExample
PortfolioLimit to specific portfolios2024 Initiatives
ProgramFilter by programProduct Launch
ProjectFilter by projectWebsite Redesign
StatusFilter by task statusCurrent, Planning

Route Best Practices

Start small, expand gradually
  • Begin with a single project or folder
  • Verify the ingestion looks correct
  • Gradually expand your filter scope
Use specific filters
  • Avoid overly broad filters that pull in thousands of tickets
  • Use labels or status filters to limit scope
  • Review the preview before confirming ingestion
Consider your hierarchy
  • If you use hierarchical ingestion, understand what parent items will be pulled in
  • Ancestors of matching items may be fetched to provide context
Monitor thread counts
  • After initial ingestion, verify you got the expected number of threads
  • Check that folders and tickets are classified correctly

Previewing Before Ingestion

Before running an ingestion, Gradial shows a preview of what will be created:
  1. Total item count — How many threads will be created
  2. Folder vs ticket breakdown — How items will be classified
  3. Hierarchy tree — Visual representation of parent-child relationships
Review this preview carefully, especially for hierarchical ingestion. If you see unexpected items or counts, refine your filters before proceeding.

Sync Behavior

Once a route is configured:
  • Initial ingestion — All matching tickets are pulled into Gradial
  • Ongoing sync — New and updated tickets are synced automatically (every 5 minutes)
  • Bidirectional updates — Comments and attachments sync both directions

Troubleshooting Routes

Too many tickets ingested
  • Review and narrow your filters
  • Add status or label filters to reduce scope
Missing tickets
  • Check that tickets match your filter criteria
  • Verify your service account has access to those tickets
Wrong classification (folder vs ticket)
  • Tickets with children are always folders
  • Check if items have subtasks or child issues