This guide shows how to build a bi-directional sync between Propal leads and your external contact database.
Overview
A typical contact sync involves:
- Initial import — Pull all contacts from your external system and create them as leads in Propal
- Ongoing sync — Periodically check for new or updated contacts and sync them
- 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.