Documentation
Build native integrations with a declarative manifest.
Declare what to read, write, and subscribe to in a single manifest. Ampersand handles auth, field mapping, rate limits, and delivery.
CRMs, ERPs, and moreOAuth managedDeploy via CLI
specVersion: 1.0.0
integrations:
- name: crm-sync
provider: salesforce
read:
objects:
- objectName: contact
destination: contactsWebhook
schedule:
requiredFields:
- fieldName: email
- mapToName: lifecycle_stage
optionalFieldsAuto: all
write:
objects:
- objectName: note
$ amp deploy ./integrations —project my-app
Actions
Actions are the verbs of every integration. You declare them in your manifest.Read
Scheduled or on-demand reads with incremental syncs, delivered anywhere.
Write
Create and update records in your customer’s SaaS, one at a time or in bulk.
Subscribe
React to creates, updates, deletes, and field changes as they happen.
Search
Targeted, synchronous queries with filters. No stored copy required.
Proxy
Call any provider endpoint directly with managed auth attached.
Get started
Two steps to your first integration.1. How Ampersand works
The model in five minutes: integrations, installations, revisions, and the config that decides what runs for each customer.
2. Build your first integration
Clone a React app with HubSpot already wired up, then swap in your own manifest and deploy.
Guides
The hard parts, already handled.Reads and backfills
- Backfill historical data on install: none, full history, or time-boxed per object, with an API to monitor progress.
- Read only the records that match: per-installation field filters, plus backfill-specific filters for the initial sync.
Writes that respect customer data
- Bulk writes with retries built in: batching, async mode, and exponential backoff for up to 48 hours.
- Never clobber customer data: control per field whether Ampersand writes on create, on update, or only when the field is empty.
Real-time events
- Watch individual fields, not whole objects: subscribe to updates only for the fields you list, quota-optimized at the source.
- Track when records are linked, not just changed: subscribe to association changes.
- Get notified when integrations change: events for installs, config changes, completed backfills, and paused syncs.
Schemas and mapping
- Map nested and dynamic fields: nested JSON paths, value mapping, and per-customer field sets.
- React when a customer’s schema drifts: get events when fields are created, deleted, or change type.
- Create custom fields in the customer’s SaaS: upsert custom fields programmatically.
- Support multiple CRMs with one manifest: shared object names, per-provider overrides, no forked code.
Running in production
- Verify every webhook cryptographically: Svix-signed payloads, plus payload size and frequency controls.
- Stay under provider rate limits: throttle mode returns a retry-after instead of burning 429s.
- Call the API from the browser, safely: short-lived JWTs signed by your server, no API keys in frontend code.
Reference
Manifest schema
Every field for read, write, subscribe, proxy, and field mapping in
amp.yaml.CLI
Commands, flags, and CI usage for deploying and diffing manifests.
REST API
Installations, connections, records, and webhook payloads.
React SDK
Hooks for connections, installations, and config in
@amp-labs/react.Integrations
Ampersand connects to CRMs, ERPs, support desks, warehouses, and more through one manifest surface. Each provider guide lists the supported objects, the authentication type, and whether read, write, and subscribe actions are available.Browse the provider directory
Search every supported provider, from Salesforce and HubSpot to NetSuite and Workday.
Request a provider
Missing an API you need? File an issue on the open-source connectors repository.
Troubleshooting and support
Troubleshooting
A searchable index of known errors, general and provider-specific, with step-by-step fixes.
Changelog
Manifest spec versions, provider additions, breaking changes.
Support
Shared Slack channel with our engineers, or email support@withampersand.com.

