> For the complete documentation index, see [llms.txt](https://docs.kula.digital/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.kula.digital/your-data-sources/operating.md).

# Keeping your connectors healthy

Every connector is set up differently, but they all **run the same way**. So this one page covers operating *all* of them: how to spot a gap, what happens when a provider has a bad day, how to recover, and the one-minute weekly check that keeps everything flowing.

## How a connector keeps itself current

After your first import, each connector tops itself up on a schedule — you don't re-import by hand. Two things make this safe to leave running:

* **Re-running never harms your data.** Imports only **fill gaps**. They never overwrite richer data you already have with something thinner, and the same record is never stored twice.
* **It moves forward only on success.** A connector advances its place in your history *only* when a pull fully succeeds. If a pull half-fails, it simply tries that bit again next time — it doesn't skip ahead and leave a hole.

## Spotting a gap

A **gap** is a stretch of time where data should exist but doesn't — a month with zero attendances at a studio that was open is a gap, not a quiet month. Gaps usually come from the source, not from Kula: a provider was down, a key expired for a while, or a manual export missed some rows.

You'll notice a gap one of two ways:

* The AI tells you. When you ask a question it can't fully answer, it says so and points at the missing period — it won't invent a number.
* The diagnostic flags it. [Running the diagnostic](/get-started/first-diagnostic.md) counts your activity month by month and marks any suspicious gaps.

**To fill a gap:** open the connector and run an import covering the missing window. Because imports only fill gaps, this is always safe — it tops up what's missing and leaves the rest alone.

## When a provider has a bad day

Providers (Stripe, Wix, Mindbody, and the rest) occasionally rate-limit us, time out, or go down. Kula is built to ride this out:

* **Temporary hiccups** (the provider is busy or briefly down) are **retried automatically**, backing off and trying again. You usually won't even notice.
* **A genuinely stuck pull** is set aside safely and picked up on the next scheduled run, rather than being lost.
* **If something keeps failing**, the connector flags itself as needing attention and we email you — we don't fail silently.

The most common reason a connector gets stuck is an **expired or revoked key** at the provider's end (someone rotated a Stripe key, a Mindbody password changed, a Meta token lapsed). That shows up as a connection error.

## Recovering a connector

When a connector shows an error, recovery is almost always one of three moves:

1. **Reconnect (most common).** If the key or sign-in expired, generate a fresh one at the provider and re-enter it on the connector's page. See that source's page for exactly where its key lives — for example [Stripe](/your-data-sources/stripe.md), [Wix](/your-data-sources/wix.md), [Mindbody](/your-data-sources/mindbody.md).
2. **Re-import the affected window.** Run an import over the period that went missing. Safe to repeat — it only fills gaps.
3. **Re-process.** If the import is fine but the tidy data looks off, click **Process** again. Re-processing is idempotent: it fixes what's pending and leaves the rest.

You won't lose anything by trying these in order. None of them overwrite good data.

## Your weekly glance

Once a week, open the **Connectors** page on your dashboard and check each source is green. That's it. If one needs attention, the page tells you what — usually "reconnect" — and the three moves above sort it out.

You can also ask the AI directly:

> *"Are any of my data connectors having problems, and what should I do about it?"*

It can read the recent error summary and tell you in plain English which source needs a look and why.

## The short version

* Gaps come from the source; fill them by re-importing the missing window.
* Outages are retried for you; persistent ones get flagged and emailed.
* Recovery is almost always **reconnect**, then **re-import**, then **re-process** — in that order, all safe to repeat.
* A weekly glance at the Connectors page is enough to stay ahead of it.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.kula.digital/your-data-sources/operating.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
