Use when setting up monitoring, logging, and alerting for Navan API integrations in production environments.
Trigger with "navan observability" or "navan monitoring" or "navan api dashboards".
Use when setting up monitoring, logging, and alerting for Navan API integrations in production environments.
Trigger with "navan observability" or "navan monitoring" or "navan api dashboards".
allowed-tools
Read, Write, Edit, Bash(curl:*), Grep, Glob
version
1.7.0
license
MIT
author
Jeremy Longshore <jeremy@intentsolutions.io>
tags
["saas","navan","travel"]
compatibility
Designed for Claude Code
Navan Observability
Overview
Navan exposes no built-in API metrics dashboard — monitoring is your responsibility. This skill implements structured logging, latency tracking, error classification, and alerting for Navan REST API integrations. Since Navan uses OAuth 2.0 with token expiration, observability must also cover the authentication lifecycle. Patterns are provided for Datadog, CloudWatch, and Prometheus/Grafana.
Prerequisites
Running Navan API integration with OAuth 2.0 credentials
Monitoring platform — Datadog, AWS CloudWatch, or Prometheus/Grafana
Node.js 18+ or equivalent runtime for the instrumentation middleware
API base URL: https://api.navan.com/v1
Instructions
Step 1 — Instrument API Calls with Structured Logging
Wrap every Navan API call with timing, status, and correlation tracking:
# datadog-monitors/navan-alerts.yamlmonitors:-name:"Navan API Auth Failures"type:metricalertquery:>
sum(last_5m):sum:navan.api.errors{error_type:auth}.as_count() > 3
message:|
Navan OAuth token may be expired or credentials rotated.
Check: Admin > API Settings for credential status.
Runbook: https://wiki.internal/navan-auth-rotation
priority:P2-name:"Navan API Rate Limiting"type:metricalertquery:>
sum(last_15m):sum:navan.api.errors{error_type:rate_limit}.as_count() > 10
message:|
Navan API returning 429 rate limit responses.
Action: Reduce sync frequency or implement backoff.
priority:P3-name:"Navan API Latency Degradation"type:metricalertquery:>
avg(last_10m):p95:navan.api.duration_ms{*} > 5000
message:|
Navan API p95 latency exceeds 5 seconds.
Impact: Expense sync and booking operations are slow.
priority:P3-name:"Navan API Server Errors"type:metricalertquery:>
sum(last_5m):sum:navan.api.errors{error_type:server}.as_count() > 5
message:|
Navan API returning 5xx server errors.
This is likely a Navan-side issue — check status page.
priority:P2