llamaIndex - 💡(How to fix) Fix New Integration: llama-index-readers-snowloader — Comprehensive ServiceNow Reader (6 Tables) [1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
run-llama/llama_index#21211Fetched 2026-04-08 01:48:48
View on GitHub
Comments
0
Participants
1
Timeline
0
Reactions
0
Author
Participants

I've built and published llama-index-readers-snowloader, a comprehensive ServiceNow data reader for LlamaIndex that covers six core ServiceNow tables. The package is live on PyPI and production-tested.

PyPI: https://pypi.org/project/llama-index-readers-snowloader/ Source: https://github.com/ronidas39/snowloader Docs: https://snowloader.readthedocs.io

Error Message

| ServiceNowProblemReader | problem | Known error flagging, root cause linking |

Root Cause

ReaderServiceNow TableKey Features
ServiceNowIncidentReaderincidentJournal entries (work notes + comments), priority/state filtering
ServiceNowKBReaderkb_knowledgeHTML-to-text cleaning, article versioning
ServiceNowCMDBReadercmdb_ci_*Relationship graph traversal (parent/child/depends on)
ServiceNowChangeReaderchange_requestFull lifecycle states, CAB approval tracking
ServiceNowProblemReaderproblemKnown error flagging, root cause linking
ServiceNowCatalogReadersc_cat_itemActive/inactive filtering, category metadata

Code Example

pip install llama-index-readers-snowloader

---

from snowloader import SnowConnection
from llama_index_readers_snowloader import ServiceNowIncidentReader

conn = SnowConnection(
    instance_url="https://mycompany.service-now.com",
    username="admin",
    password="password",
)

reader = ServiceNowIncidentReader(connection=conn, query="active=true")
documents = reader.load_data()

# Use with LlamaIndex
from llama_index.core import VectorStoreIndex
index = VectorStoreIndex.from_documents(documents)
query_engine = index.as_query_engine()
response = query_engine.query("What incidents are related to email outages?")
RAW_BUFFERClick to expand / collapse

Overview

I've built and published llama-index-readers-snowloader, a comprehensive ServiceNow data reader for LlamaIndex that covers six core ServiceNow tables. The package is live on PyPI and production-tested.

PyPI: https://pypi.org/project/llama-index-readers-snowloader/ Source: https://github.com/ronidas39/snowloader Docs: https://snowloader.readthedocs.io

Why a New Reader?

The existing llama-index-readers-service-now only covers Knowledge Base articles via pysnc. In production ServiceNow environments, teams need access to far more than KB — incidents for support analytics, CMDB for infrastructure context, changes for audit trails, and so on.

llama-index-readers-snowloader addresses this by providing readers for all six core tables through a single, consistent interface.

What It Covers

ReaderServiceNow TableKey Features
ServiceNowIncidentReaderincidentJournal entries (work notes + comments), priority/state filtering
ServiceNowKBReaderkb_knowledgeHTML-to-text cleaning, article versioning
ServiceNowCMDBReadercmdb_ci_*Relationship graph traversal (parent/child/depends on)
ServiceNowChangeReaderchange_requestFull lifecycle states, CAB approval tracking
ServiceNowProblemReaderproblemKnown error flagging, root cause linking
ServiceNowCatalogReadersc_cat_itemActive/inactive filtering, category metadata

Technical Details

  • Built on a framework-agnostic core (snowloader) with a thin LlamaIndex adapter
  • All readers extend BaseReader from llama_index.core
  • Returns standard llama_index.core.schema.Document objects
  • 4 auth modes: Basic, OAuth Password, OAuth Client Credentials, Bearer Token
  • Production features: retry with exponential backoff, rate limiting, pagination, delta sync
  • Fully typed (PEP 561, py.typed marker)
  • 41 unit tests, tested against a live ServiceNow developer instance

Installation & Usage

pip install llama-index-readers-snowloader
from snowloader import SnowConnection
from llama_index_readers_snowloader import ServiceNowIncidentReader

conn = SnowConnection(
    instance_url="https://mycompany.service-now.com",
    username="admin",
    password="password",
)

reader = ServiceNowIncidentReader(connection=conn, query="active=true")
documents = reader.load_data()

# Use with LlamaIndex
from llama_index.core import VectorStoreIndex
index = VectorStoreIndex.from_documents(documents)
query_engine = index.as_query_engine()
response = query_engine.query("What incidents are related to email outages?")

Comparison with Existing Integration

Featurellama-index-readers-service-nowllama-index-readers-snowloader
Tables covered1 (KB only)6 (Incidents, KB, CMDB, Changes, Problems, Catalog)
Auth modesBasic onlyBasic, OAuth Password, OAuth Client Credentials, Bearer
CMDB relationshipsNoYes (graph traversal)
Delta syncNoYes (load_since)
Journal entriesNoYes (work notes + comments)
HTML cleaningNoYes (built-in)
Retry/backoffNoYes
External dependencypysncrequests (stdlib-adjacent)

What I'm Looking For

I'd like to get llama-index-readers-snowloader listed on LlamaHub so the community can discover it. Happy to submit a PR to the monorepo if that's the preferred path, or keep it as an independent PyPI package — whatever works best for the project.

The [tool.llamahub] metadata is already configured in the package's pyproject.toml.

Let me know how you'd like to proceed.

extent analysis

Fix Plan

To get llama-index-readers-snowloader listed on LlamaHub, follow these steps:

  • Submit a PR to the LlamaHub monorepo with the package details.
  • Ensure the [tool.llamahub] metadata is correctly configured in the package's pyproject.toml file.

Code Changes

No code changes are required for the package itself, but you may need to update the pyproject.toml file to include the necessary metadata:

[tool.llamahub]
package-name = "llama-index-readers-snowloader"
description = "A comprehensive ServiceNow data reader for LlamaIndex"

Verification

To verify that the fix worked, check the LlamaHub listing for llama-index-readers-snowloader after the PR is merged.

Extra Tips

  • Make sure to follow the LlamaHub contribution guidelines when submitting the PR.
  • Test the package installation and usage as described in the documentation to ensure it works as expected.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING