---
title: "Have your agent read this site | Destination Pulse"
description: Two JSON endpoints, field-by-field meanings, and copy-paste prompts for tracking DMO leadership changes with an agent. What the data claims, and what it does not.
canonical: https://destinationpulse.mandalivia.com/for-agents/
---

> This is the Markdown twin of https://destinationpulse.mandalivia.com/for-agents/ — an index of all Markdown pages is at https://destinationpulse.mandalivia.com/llms.txt.

# Have your agent read this site

Destination Pulse records leadership changes at US destination marketing organizations (DMOs and CVBs) and publishes them as flat JSON. This page is the contract: what the data claims, what it does not, and prompts you can paste into whatever assistant you use.

## What this site knows, and what it doesn't

The data makes two kinds of claims, and they are not equal:

- **Sourced events** — a person named to a seat, or departing one, each with a source link (`source_url`). Curated before publishing.
- **Detected roster changes** — a machine diff of an organization's official team page between captures. Nobody has confirmed them; verify against the linked team page before acting on one.

29 organizations are under weekly roster monitoring:

- [Arlington Convention and Visitors Bureau](https://destinationpulse.mandalivia.com/org/arlington-convention-and-visitors-bureau/)
- [Beaumont Convention and Visitors Bureau](https://destinationpulse.mandalivia.com/org/beaumont-convention-and-visitors-bureau/)
- [Chester County Tourism (Brandywine Valley)](https://destinationpulse.mandalivia.com/org/chester-county-tourism-brandywine-valley/)
- [Discover Albany](https://destinationpulse.mandalivia.com/org/discover-albany/)
- [Discover Long Island](https://destinationpulse.mandalivia.com/org/discover-long-island/)
- [Discover Newport](https://destinationpulse.mandalivia.com/org/discover-newport/)
- [Experience Grand Rapids](https://destinationpulse.mandalivia.com/org/experience-grand-rapids/)
- [Experience Olympia & Beyond](https://destinationpulse.mandalivia.com/org/experience-olympia-beyond/)
- [Experience Ruston](https://destinationpulse.mandalivia.com/org/experience-ruston/)
- [Explore St. Louis](https://destinationpulse.mandalivia.com/org/explore-st-louis/)
- [Greater Miami Convention and Visitors Bureau](https://destinationpulse.mandalivia.com/org/greater-miami-convention-and-visitors-bureau/)
- [Greater Raleigh Convention and Visitors Bureau](https://destinationpulse.mandalivia.com/org/greater-raleigh-convention-and-visitors-bureau/)
- [Greenville Pitt County Convention and Visitors Bureau](https://destinationpulse.mandalivia.com/org/greenville-pitt-county-convention-and-visitors-bureau/)
- [Little Rock Convention and Visitors Bureau](https://destinationpulse.mandalivia.com/org/little-rock-convention-and-visitors-bureau/)
- [Richmond Region Tourism](https://destinationpulse.mandalivia.com/org/richmond-region-tourism/)
- [Travel Wisconsin](https://destinationpulse.mandalivia.com/org/travel-wisconsin/)
- [Traverse City Tourism](https://destinationpulse.mandalivia.com/org/traverse-city-tourism/)
- [Virginia Tourism Corporation](https://destinationpulse.mandalivia.com/org/virginia-tourism-corporation/)
- [Visit Anchorage](https://destinationpulse.mandalivia.com/org/visit-anchorage/)
- [Visit Baton Rouge](https://destinationpulse.mandalivia.com/org/visit-baton-rouge/)
- [Visit California](https://destinationpulse.mandalivia.com/org/visit-california/)
- [Visit Cheyenne](https://destinationpulse.mandalivia.com/org/visit-cheyenne/)
- [Visit Denver](https://destinationpulse.mandalivia.com/org/visit-denver/)
- [Visit Galveston](https://destinationpulse.mandalivia.com/org/visit-galveston/)
- [Visit Ithaca](https://destinationpulse.mandalivia.com/org/visit-ithaca/)
- [Visit Knoxville](https://destinationpulse.mandalivia.com/org/visit-knoxville/)
- [Visit Rochester](https://destinationpulse.mandalivia.com/org/visit-rochester/)
- [Visit Springfield Missouri](https://destinationpulse.mandalivia.com/org/visit-springfield-missouri/)
- [Visit Tacoma Pierce County](https://destinationpulse.mandalivia.com/org/visit-tacoma-pierce-county/)

The collector visits each monitored team page on Mondays at 11:00 UTC; a capture that changes a roster triggers a site rebuild. Sourced events are added as announcements surface. A week with no changes leaves every file exactly as it was — judge freshness by the fields below, not by when you fetched.

Recorded events span Feb 2026 to Oct 1, 2026.

## The contract

The dataset ("Destination Pulse leadership changes and rosters") lives at two stable URLs:

- <https://destinationpulse.mandalivia.com/data/events.json>
- <https://destinationpulse.mandalivia.com/data/rosters.json>

Neither URL nor any field moves or changes meaning without a `schemaVersion` bump. Both are currently at `schemaVersion` 1.

### https://destinationpulse.mandalivia.com/data/events.json

Envelope: `schemaVersion`, `generatedAt`, `events[]`.

- `schemaVersion` — Integer, currently 1. The stability promise: URLs and fields do not move or change meaning without this number going up.
- `generatedAt` — The newest seen_at across all events — the date this dataset last changed. Not a build timestamp, and not a capture date: a rebuild that adds no events leaves it alone.
- `events[]` — Every recorded leadership event, one object each.
- `id` — Stable unique identifier for the event. A new id is a new change; an id you have seen carries the same facts it did before.
- `type` — "leadership_change" — a person named to a seat — or "leadership_departure" — a person leaving one. Additive: new signals arrive as new types, never by changing an existing field.
- `date` — Effective date of the role, YYYY-MM-DD or YYYY-MM — the precision the source reported, never an invented day. For date arithmetic, treat YYYY-MM as the first of that month.
- `dmo_slug` — Organization key. Its pages: /org/{dmo_slug}/ and /org/{dmo_slug}.md.
- `dmo_name` — Organization display name.
- `person_slug` — Person key. Its pages: /people/{person_slug}/ and /people/{person_slug}.md.
- `person_name` — Person display name.
- `new_title` — The role taken, worded as the source words it. Present on leadership_change events only.
- `last_title` — The seat vacated, worded as the source words it. Present on leadership_departure events only — a departure never claims a seat taken.
- `from.org` — Previous organization, when found. Absent means not found, not none. Always empty on a departure.
- `from.title` — Previous title, when found.
- `source_url` — The source backing the event: a dated publication for announced events, the official page the change was observed on for detected ones. Every event has one.
- `seen_at` — The date the event entered this dataset, YYYY-MM-DD.
- `provenance` — "announced" — a dated publication is the source — or "detected" — the weekly scan caught the change on the org's own page. The tier of claim you are holding.

### https://destinationpulse.mandalivia.com/data/rosters.json

- `schemaVersion` — Integer, currently 1. Same stability promise as the events file.
- `generatedAt` — When the collector last wrote this manifest — a capture timestamp, not a data-change timestamp. It moves when team pages are captured, whether or not any roster changed.
- `count` — Number of organizations with a captured roster.
- `rosters[]` — One snapshot per monitored organization.
- `rosters[].orgSlug` — Organization key, matching dmo_slug in the events file.
- `rosters[].capturedAt` — When this organization’s team page was captured. Judge roster freshness by this, per org.
- `rosters[].sourceUrl` — The official team page the snapshot was captured from.
- `rosters[].sourceHash` — Content hash of the capture, for change detection.
- `rosters[].people[]` — Everyone listed on the team page as captured: personKey, sourceName, titles[], photoUrl, email, phone, section. Contact fields hold what the page publishes, or null; section is the page heading the person is listed under, or null.
- `rosters[].recentChanges[]` — Machine-detected diffs between captures: added[], removed[], roleChanges[], each entry dated by its capturedAt. Unconfirmed — verify against the sourceUrl before acting.

### Reading freshness

The two `generatedAt` fields mean different things. In the events file it is the newest `seen_at` — the date the dataset last changed. In the rosters file it is when team pages were last captured, and each `rosters[].capturedAt` dates its own org's capture. An agent judging "is this current?" must read the one that matches the question: data recency from the events file, capture recency from the rosters file.

### Dates and the 90-day window

Event dates come at the precision the source reported: `YYYY-MM-DD` or `YYYY-MM`, never an invented day. A new leader tends to re-evaluate vendors in their first 90 days, so the useful derived claim is: the window opens on the event's `date` (treat `YYYY-MM` as the first of that month) and closes 90 days later. Compute it against your own clock at read time — the published files never state where in the window an event sits, because that would go stale between rebuilds.

### License

The dataset is © Mandalivia and free to access and use, including by automated agents: fetch it, cache it, and serve what it says to your users, with attribution to Destination Pulse — a link where the medium allows.

Republishing the dataset itself, redistributing it in bulk, reselling it, or building a competing dataset from it requires permission. These terms may change for future data; data already published stays under the terms it shipped with.

## Prompts to paste

The unit here is a prompt, not documentation. Each block works as-is in any assistant that can fetch a URL.

### One-shot weekly summary

Paste this into a fresh session for a read of the whole feed.

```
Fetch https://destinationpulse.mandalivia.com/data/events.json — field meanings are documented at
https://destinationpulse.mandalivia.com/for-agents.md.

Summarize the recorded leadership changes at US destination
marketing organizations: for each event, the person, the new
title, the organization, the effective date, and the source
link. Treat a YYYY-MM date as the first of that month. Flag
events whose effective date falls within the last 90 days —
a new leader tends to re-evaluate vendors in that window.
State the dataset's generatedAt so I know when it last changed.
```

### Recurring weekly check

If your assistant runs scheduled tasks, hand it this once; otherwise paste it at the start of each week.

```
Every Monday, fetch https://destinationpulse.mandalivia.com/data/events.json
(field meanings: https://destinationpulse.mandalivia.com/for-agents.md).

Compare against the event ids you reported last time — ids are
stable, so a new id is a new change. Report only the new
events: person, new title, organization, effective date, and
the source link. If nothing is new, say so and stop.
```

### Cross-reference your accounts

The reason to watch the feed at all: a fresh leader at an account is a vendor-review window.

```
Here is my account list:
[paste your organizations, one per line]

Fetch https://destinationpulse.mandalivia.com/data/events.json
(field meanings: https://destinationpulse.mandalivia.com/for-agents.md).

Match events to my accounts by organization name, tolerating
small naming differences. For each account with a leadership
change effective within the last 90 days, draft a
three-sentence outreach note to the new leader that names the
role and effective date and cites the source link. List the
accounts with no recorded change separately — no change on
record is not the same as no change.
```

## Watch one DMO

Every organization page has a markdown twin at /org/{slug}.md; the index of all pages is at /llms.txt.

```
Fetch https://destinationpulse.mandalivia.com/org/visit-california.md
(swap the slug for the organization you care about; the index
of all pages is at https://destinationpulse.mandalivia.com/llms.txt).

Report the leadership changes and any detected roster changes.
Detected roster changes are a machine diff of the official
team page — verify against the linked source before acting on
one.
```
