Skip to main content
This guide shows how to build a bi-directional sync between Propal leads and your external contact database.

Overview

A typical contact sync involves:
  1. Initial import — Pull all contacts from your external system and create them as leads in Propal
  2. Ongoing sync — Periodically check for new or updated contacts and sync them
  3. Reverse sync — Push new Propal leads back to your external system

Initial import

Fetch all contacts from your external system and create them in Propal:
For large imports (1000+ contacts), use limit=100 per page and respect the rate limits. Consider running the import during off-peak hours.

Ongoing sync

Set up a periodic job (cron, scheduled task) to sync changes:

Reverse sync — push Propal leads to your CRM

Fetch new leads from Propal and push them to your external system:

Enriching leads with proposal data

For each lead, you can also fetch their associated proposals:

Best practices

  • Deduplicate by email. Use the search parameter to check for existing leads before creating duplicates.
  • Handle rate limits. Add delays between requests during bulk operations. See Rate Limiting.
  • Log sync results. Track created, updated, and skipped records for debugging.
  • Use incremental sync. Only process records that changed since the last sync, not the entire dataset.