Skip to main content
Connectors pull data from external services on a schedule. Unlike SDKs that push events in real-time, connectors reach out to APIs like GitHub or Shopify and bring metrics into Tell automatically. Use connectors when you want to track data that lives outside your app — repository activity, store performance, or third-party metrics.

Available connectors

ConnectorWhat it pullsStatus
GitHubStars, forks, issues, PRs, commitsReady
ShopifyOrders, revenue, customers, products, inventoryPartial

GitHub

Track your repository metrics over time — stars, forks, open issues, pull requests, and commit activity.

Configuration

[connectors.my_repo]
type = "github"
entities = ["your-org/your-repo"]
schedule = "0 0 */6 * * *"
This pulls metrics from your repository every 6 hours. No token is needed for public repos, but adding one increases GitHub’s rate limit from 60 to 5,000 requests per hour.

With authentication

[connectors.my_repo]
type = "github"
entities = ["your-org/your-repo", "your-org/another-repo"]
schedule = "0 0 */6 * * *"
token = "ghp_your_github_token"
You can track multiple repositories from a single connector.

On-demand pull

tell pull github your-org/your-repo

Metrics

MetricDescription
starsStargazers count
forksFork count
watchersWatcher count
open_issuesOpen issue count
issues_openOpen issues (via search)
issues_closedClosed issues
prs_openOpen pull requests
prs_closedClosed pull requests
prs_mergedMerged pull requests
commitsCommits in the last 30 days
last_commit_atTimestamp of the most recent commit
sizeRepository size in KB
To pull only specific metrics, use the metrics field:
[connectors.my_repo]
type = "github"
entities = ["your-org/your-repo"]
schedule = "0 0 */6 * * *"
metrics = ["stars", "forks", "open_issues"]
This reduces the number of API calls per pull.

Shopify

Track your store’s performance — orders, revenue, customers, products, and inventory levels.
The Shopify connector is partially complete. Order and product metrics work. Some inventory and operations metrics are still in development.

Configuration

[connectors.my_store]
type = "shopify"
store = "mystore.myshopify.com"
access_token = "shpat_your_token"
entities = ["orders", "products", "customers"]
schedule = "0 0 */6 * * *"

Entities

Pull specific categories of data by listing them in entities:
EntityWhat it pulls
ordersOrder count, revenue (today, 30-day), average order value
productsTotal and active product counts
customersTotal and new customer counts (30-day)
operationsUnfulfilled orders, refunds, abandoned checkouts, inventory
allEverything above — continues even if one category fails

On-demand pull

tell pull shopify orders

Schedule format

Connectors use 6-field cron expressions (with seconds):
┌──────── second (0-59)
│ ┌────── minute (0-59)
│ │ ┌──── hour (0-23)
│ │ │ ┌── day of month (1-31)
│ │ │ │ ┌ month (1-12)
│ │ │ │ │ ┌ day of week (0-6, Sun=0)
│ │ │ │ │ │
0 0 */6 * * *    ← every 6 hours
0 30 9 * * 1-5   ← weekdays at 9:30am
0 0 0 * * *      ← midnight daily

Resilience

Connectors handle failures automatically:
  • Retries — up to 3 attempts with exponential backoff on transient errors
  • Circuit breaker — after 5 consecutive failures, pauses for 10 minutes before trying again
  • Timeouts — 30-second per-request timeout, 5-minute overall timeout per pull
  • Rate limiting — respects 429 responses and waits before retrying

Advanced options

Both connectors share these optional fields:
FieldDefaultDescription
timeout_secs30Per-request timeout
max_retries3Retry attempts on failure
workspace_id1Route data to a specific workspace
metricsallFilter to specific metrics (reduces API calls)
For GitHub specifically:
FieldDefaultDescription
tokenGitHub personal access token
api_urlhttps://api.github.comCustom API URL (for GitHub Enterprise)
For Shopify:
FieldDefaultDescription
access_tokenShopify Admin API access token
api_version2024-01Shopify API version

What’s next