How do customers connect the tools they already use?
Decide what your app needs from the other tool, then give each customer a way to grant the smallest useful access. Check that their records reach the right account before offering more actions.
When does a customer need to connect another tool inside your app?
Start with the one action they should be able to take. An invoicing app might need to read a contact’s name from the system a customer already uses. If they only need to bring a list once, see whether a file import solves the task.
A customer can be signed into your app without having given it permission to read another account. Show them which account they are connecting and what the connection can do.
Should you read once, keep a copy or write changes back?
Start with the smallest read that makes the feature useful. If people need current information later, decide how often to fetch it and what to show if it is old. Add write-back when the customer needs a change to appear in the original tool.
An approved connection, a successful import and a successful write are different states. Give the customer a way to tell which one happened.
Compare tools
Scroll the table sideways to read every column.
| Tool | Who connects the account?How customers grant access from your product. | Who defines the data work?What the service provides and what you still design. | What affects cost?The unit to check as customers connect. |
|---|---|---|---|
| Nango | Embed an authorization screen. Choose the supported access to request. | Use an existing sync or define the records and fields to fetch. | Connections, execution time and data transfer. |
| Merge | Use Merge Link to connect supported customer accounts. | Map supported business records to shared fields. Check custom fields and sync timing. | Production Linked Accounts. Test limits are separate. |
| Paragon | Show the Connect Portal or build your own connection screen. | Define workflows in an editor or TypeScript. Check the exact triggers and actions. | Quote based on customer organizations using integrations and included usage. |
| Pipedream Connect | The customer grants access to their account through Connect. | Your server chooses the allowed connection and what requests to make. | Development and production differ. Check external users and usage credits. |
| Apideck | The customer links a provider account for their consumer record. | Your app selects supported records, fields and actions for each provider. | Compare active consumers per month and plan-level features. |
| Unified.to | The customer authorizes an activated provider account. | Your app chooses which live records to request and handles missing data. | Check API volume and the units in any negotiated plan. |
| Nylas | The customer authorizes a mailbox or calendar account. | Your app selects the grant and whether it reads or writes. | Compare connected-account units and the exact API plan. |
| Hookdeck | Your team connects an incoming event source and a destination. | Route and inspect incoming events. Check app records before retrying. | Check generated events, throughput and log retention. |
| Svix | The customer supplies the address that receives outgoing messages. | Your app defines the event and checks the recipient and duplicate handling. | Check attempted-message units, payload size and plan limits. |
| Prismatic | A customer or operator configures its instance and account connections. | Your team defines the workflow and what each customer can configure. | Check the platform subscription, active instances and any per-instance limits. |
How can you check that each customer sees only their own records?
Use two fictional customers. Draw the account they each connect, the record your app fetches and where it appears. Stay on paper if you cannot verify an isolated test environment and both external accounts.
- Name both connectionsGive each fictional customer a separate connection and a different contact record.
- Follow the same record twiceMark where it lands and decide how you will avoid adding it again after a retry.
- Walk through disconnectMark what stops syncing, what remains in your own app and what the user needs to do next.