---
title: Send data
description: Send changed model rows to a destination with previews, matching, confirmation gates, and value-free error logs.
species: concept
---
# Send data

A send maps rows from a model into a writable destination object. Supernova previews the diff before the first write, remembers confirmed row values by hash, and sends only changed rows on later runs.

## Configure a send

1. Open a HubSpot or Intercom source and choose **Send data**.
2. Choose a model, destination object, and match property.
3. Map model columns to writable destination properties.
4. Run a preview and inspect updates, creates, skips, ambiguous matches, and validation failures.
5. Confirm the mapping, then run it now or attach a schedule.

Null and empty values are omitted. They do not clear a destination property. Values that cannot be represented by the destination type fail validation before any destination request.

## Matching and creates

The match column identifies the destination record. A value that resolves to more than one record follows the configured ambiguous-match policy. An unmatched row is skipped unless creates are enabled.

Any pending create requires confirmation. A scheduled run also pauses when its diff exceeds 500 writes. These gates protect a previously-small mapping from becoming a large unattended change.

## Diff state

The baseline stores `rowValueHash` and `sendCfgHash`, not the model values themselves. A changed mapping invalidates its previous confirmation. A full run clears the baseline and re-evaluates every source row.

A dry run never writes and never advances the baseline. Preview samples are temporary and bounded.

## Tenant pinning and errors

A send records the destination account or workspace at authoring time and verifies it again on every run. Repointing the source credential cannot silently retarget the send.

Per-row logs keep category, code, and trace id only. Destination messages can echo customer values, so raw destination messages are not persisted. Confirmed partial successes do advance the baseline; a retry does not resend them blindly.
