First, establish what actually happened#
Three questions, in this order:
- What did you expect? Write it in one sentence. Half of all reported bugs dissolve here.
- What happened instead? The exact message, copied rather than paraphrased. Error text is searchable; "it didn't work" is not.
- When? A timestamp with a time zone. Logs are indexed by time, and "this morning" spans four hours.
The four usual causes#
| Symptom | Likely cause | Check |
|---|---|---|
| Works for you, fails for a colleague | Permissions | Compare roles, not accounts |
| Worked yesterday, fails today | An expired or rotated credential | Re-issue the token and retry once |
| Works on small input, fails on large | A limit — size, rate or timeout | Retry with a fraction of the input |
| Right answer, wrong numbers | Time zone or locale | Compare one record against the source by hand |
Nothing happened at all#
Silence is its own category. Check, in order: whether the job actually started, whether it is waiting on something, and whether it finished and wrote its output somewhere you are not looking. A run that produced no records is not the same as a run that never ran, and from the outside they look identical.
Fill this in: where a reader sees run history in docs, and what a successful run looks like there. This is the single most useful thing on the page, and only you can write it.
When to ask for help#
Ask once you have the three answers from the first section. Send them together with what you already tried, and say what would unblock you — an answer, a workaround, or a fix. That last sentence changes how quickly the right person picks it up.
Fill this in: the support address or form, and a realistic response time. A promise you cannot keep is worse than no promise.
Next steps#
- Your first five minutes — retrace the setup.
- Connect your data — the checks most imports skip.
- Core concepts — where the vocabulary causes confusion.
- Onboarding overview — the whole path.