Skill Tracer
Skills › Knowledge Work Plugins › review-reputation › sources.md

sources.md

116 lines · small-business/skills/review-reputation/reference/sources.md at 2574e29

Open on GitHub
1# Sources
2
3One required backbone, everything else deepens it. The skill works on day one
4with nothing connected at all.
5
6| Source | Status | What it gives |
7|---|---|---|
8| A CRM (HubSpot, Monday.com, Salesforce, Zoho CRM), a payments connector (PayPal, Square, Stripe), **or** a storefront (Shopify, Square) | Required — one of any of the three categories | Tickets and feedback; disputes and refunds; or order history (who bought what and when) plus fulfillment and refund patterns |
9| Support desk (Zoho Desk) | Optional | Tickets by customer, priority, and status — complaints in the customer's own words |
10| Gmail | Optional | Complaint and praise language in threads |
11| Web research | Always available | Publicly visible reviews on Google, Yelp, Facebook |
12| Pasted or exported reviews | Always available | The best source there is, with dates and ratings |
14---

Sources

One required backbone, everything else deepens it. The skill works on day one with nothing connected at all.

SourceStatusWhat it gives
A CRM (HubSpot, Monday.com, Salesforce, Zoho CRM), a payments connector (PayPal, Square, Stripe), or a storefront (Shopify, Square)Required — one of any of the three categoriesTickets and feedback; disputes and refunds; or order history (who bought what and when) plus fulfillment and refund patterns
Support desk (Zoho Desk)OptionalTickets by customer, priority, and status — complaints in the customer's own words
GmailOptionalComplaint and praise language in threads
Web researchAlways availablePublicly visible reviews on Google, Yelp, Facebook
Pasted or exported reviewsAlways availableThe best source there is, with dates and ratings

Raw lines 1 to 15
16## Public reviews
18**Preferred: an export.** Google Business Profile and Yelp both let the owner
19download their reviews. An export carries the rating, date, reviewer name, and
20full text, and it includes reviews the public page paginates away. Ask for one
21the first time this skill runs; it takes the owner two minutes and improves
22every run afterward.
24**Fallback: what is visible on the web.** Fetch the business's public review
25pages and read what renders. This is genuinely useful and genuinely partial —
26pages truncate, paginate, and reorder. Say so in the Sources section rather
27than presenting a partial pull as a complete one.
29**Also fine: pasted text.** The owner drops reviews into the chat. Tag them
30`[Review]` like any other source and use them.
32When counting, never total a rating average across sources. Google's average
33and Yelp's average are different numbers about different populations, and an
34owner who repeats a blended figure to a customer will be wrong.
36---

Public reviews

Preferred: an export. Google Business Profile and Yelp both let the owner download their reviews. An export carries the rating, date, reviewer name, and full text, and it includes reviews the public page paginates away. Ask for one the first time this skill runs; it takes the owner two minutes and improves every run afterward.

Fallback: what is visible on the web. Fetch the business's public review pages and read what renders. This is genuinely useful and genuinely partial — pages truncate, paginate, and reorder. Say so in the Sources section rather than presenting a partial pull as a complete one.

Also fine: pasted text. The owner drops reviews into the chat. Tag them [Review] like any other source and use them.

When counting, never total a rating average across sources. Google's average and Yelp's average are different numbers about different populations, and an owner who repeats a blended figure to a customer will be wrong.


Raw lines 16 to 37
38## Disputes and tickets
40**PayPal disputes.** Fetch disputes opened in the window. PayPal throttles
41aggressively on wide date windows. On the first rate-limit error, stop, record
42`PayPal: rate-limited — not included` in Sources, and continue. Do not retry
43silently; suggest a narrower window instead.
45**Stripe disputes and refunds.** `GET /v1/disputes` created in the window
46(via `stripe_api_read`), with `reason` and `status`; `GET /v1/refunds` for
47the same window, since a run of refunds against one product is a theme
48before it is a review. A dispute's `evidence_details.due_by` is a deadline —
49surface any open one in the "do these three things" list.
51**Square disputes.** The disputes endpoint through `make_api_request` for the
52window. Same treatment as Stripe.
54**HubSpot tickets and feedback.** Fetch open and recently closed tickets, plus
55any feedback submissions. Zero tickets is a legitimate state for a new or
56small portal — record `HubSpot tickets: 0` and move on. Only flag a connector
57problem when authentication itself fails.
59**Zoho Desk tickets.** `getTickets` for the window (`receivedInDays` 30 or
6090 to match it; sort by `recentThread`), then `getThreads` on the ones whose
61subject reads as a complaint, for the verbatim. `getTicketsMetrics` gives the
62open, overdue, and on-hold counts for the header. Open tickets with priority
63High belong in the Disputes and tickets count, not only in the theme list.
64`getTickets` rejects an `include` parameter — ask for extra fields with
65`fields`.
67---

Disputes and tickets

PayPal disputes. Fetch disputes opened in the window. PayPal throttles aggressively on wide date windows. On the first rate-limit error, stop, record PayPal: rate-limited — not included in Sources, and continue. Do not retry silently; suggest a narrower window instead.

Stripe disputes and refunds. GET /v1/disputes created in the window (via stripe_api_read), with reason and status; GET /v1/refunds for the same window, since a run of refunds against one product is a theme before it is a review. A dispute's evidence_details.due_by is a deadline — surface any open one in the "do these three things" list.

Square disputes. The disputes endpoint through make_api_request for the window. Same treatment as Stripe.

HubSpot tickets and feedback. Fetch open and recently closed tickets, plus any feedback submissions. Zero tickets is a legitimate state for a new or small portal — record HubSpot tickets: 0 and move on. Only flag a connector problem when authentication itself fails.

Zoho Desk tickets. getTickets for the window (receivedInDays 30 or 90 to match it; sort by recentThread), then getThreads on the ones whose subject reads as a complaint, for the verbatim. getTicketsMetrics gives the open, overdue, and on-hold counts for the header. Open tickets with priority High belong in the Disputes and tickets count, not only in the theme list. getTickets rejects an include parameter — ask for extra fields with fields.


Raw lines 38 to 68
69## Email
71Search the window for threads containing complaint and praise language. Seed
72list, deliberately wide:
74```
75refund cancel unhappy issue problem disappointed frustrated broken
76late slow wrong missing never again took forever thank you lifesaver
77recommend great job
78```
80Customers rarely use the word "disappointed." They write "took forever" and
81"never again." Over-inclusion is cheap here because theme extraction filters
82the noise; a narrow keyword list silently loses whole themes.
84Pull the subject line and one or two sentences of the customer's own words —
85enough to quote verbatim later.
87---

Email

Search the window for threads containing complaint and praise language. Seed list, deliberately wide:

refund  cancel  unhappy  issue  problem  disappointed  frustrated  broken
late  slow  wrong  missing  never again  took forever  thank you  lifesaver
recommend  great job

Customers rarely use the word "disappointed." They write "took forever" and "never again." Over-inclusion is cheap here because theme extraction filters the noise; a narrow keyword list silently loses whole themes.

Pull the subject line and one or two sentences of the customer's own words — enough to quote verbatim later.


Raw lines 69 to 88
89## Shopify
91Covered in `churn-signals.md`. In short: orders, fulfillment times, and
92refunds, read as behavior rather than opinion.
94---

Shopify

Covered in churn-signals.md. In short: orders, fulfillment times, and refunds, read as behavior rather than opinion.


Raw lines 89 to 95
96## Reporting what you got
98Every run ends with an honest Sources block. Counts, and named failures:
100```
101Sources pulled — Apr 28 to Jul 27
103 Google reviews (export) 14
104 Yelp (web, partial) 6 — page shows most recent only
105 Stripe disputes 3
106 Stripe refunds 7
107 HubSpot tickets 0
108 Zoho Desk tickets 12 — 2 open, priority High
109 Gmail threads 11
110 Shopify orders 182
111```
113Name the connector that was actually read on each line (the example above is
114a Stripe and Zoho Desk shop; a PayPal and HubSpot shop lists those). The dash
115matters as much as the numbers. A source that is missing looks exactly like a
116source with nothing bad in it unless it is named.

Reporting what you got

Every run ends with an honest Sources block. Counts, and named failures:

Sources pulled — Apr 28 to Jul 27

  Google reviews (export)      14
  Yelp (web, partial)           6   — page shows most recent only
  Stripe disputes               3
  Stripe refunds                7
  HubSpot tickets               0
  Zoho Desk tickets            12   — 2 open, priority High
  Gmail threads                11
  Shopify orders              182

Name the connector that was actually read on each line (the example above is a Stripe and Zoho Desk shop; a PayPal and HubSpot shop lists those). The dash matters as much as the numbers. A source that is missing looks exactly like a source with nothing bad in it unless it is named.

Raw lines 96 to 116