Case Study • Nonprofit

Content Ownership Across Integrated Platforms

The website and external platforms held overlapping versions of the same information. The challenge was not simply connecting them. It was deciding which system was allowed to create, update, or override each part of the record.

Data ArchitectureIntegrationsContent Operations

Starting point

The rescue listed adoptable dogs in two places: on its own website, and on an external animal-listing service. Both systems held a record for the same animal.

The external service was effectively treated as the source of truth. That meant the descriptions volunteers wrote, the statuses they set, and the photographs they took could be replaced by a thinner version of the same dog arriving back the other way.

A second ownership question sat around donations. The donation platform correctly owned the money. Volunteers still needed to see, somewhere they already worked, which monthly donors were owed a welcome gift and which had been sent one.

Neither question was really about whether the systems should be connected. Both were about what each system should be allowed to be right about.

The decision

Separate connection from authority.

Being connected to another platform is not a reason to let it overwrite every field it touches. Those are two separate decisions, and usually only the first one gets made deliberately.

For the dog listing, the website became authoritative for description, status, and media. The external service kept a narrowly defined role: it can introduce a dog that has just been listed, and once that dog exists on the website, the website owns its content from then on.

Creation and update were granted separately, because they carry different risk. Creating a record that did not exist destroys nothing. Overwriting one does.

The architecture

External FeedNew listing signal
Controlled SyncDefined write permissions
Website Source of TruthContent owned locally
Public ListingRescue-controlled experience
ApplicationConnected next step

The one update the integration is allowed to make is moving a dog that is currently adoptable or on trial to Adopted. Even that does not fire on a single signal. A dog disappearing from the external feed is not by itself treated as evidence of an adoption, so the disappearance has to be confirmed before the website changes anything. If the feed fails, or comes back with nothing usable, processing stops before any dog is touched.

An empty response isn’t automatically valid business data.A failed call and a genuinely empty dataset look identical if an integration only checks whether any records came back. Before a state change that destroys information, absence has to be verified rather than assumed.

The same question, applied to donations

Givebutter stayed the donation platform. The website does not process payments and is not the financial record.

What it does is read the donation information volunteers need, and give them the operational view the donation platform was never meant to provide: who is owed a welcome gift, and whether it has been sent. The transaction belongs to the donation platform. The fulfillment workflow belongs to the rescue.

What changed

Ownership between the connected systems is stated now rather than assumed.

The website controls the dog content that shapes the public experience. The external listing service can still bring in new listings without overwriting work done locally. A state change that would destroy information needs better evidence than a missing record, and a broken feed stops rather than being read as news.

Donation data stays with the donation platform, while the website carries the fulfillment process around it.

The result is an integration model built on stated ownership rather than unrestricted synchronization. It also means that when a connector does something surprising a year from now, there is a written answer to whether that was intended.

What we aren’t claimingA clean pre-project analytics baseline wasn’t available, so we aren’t attributing changes in adoption volume, donations, or administrative time to this work.