Integrations

Connect Servantium to Salesforce, your accounting system, and the rest of your stack. Configure bidirectional sync, dynamic field mapping, and outbound formula transforms.

Quickstart

Manage your outbound data flows via the Integration Dispatcher, configure bidirectional sync, and monitor errors under Settings > Integrations.

In-Depth

Servantium is designed to be the central “Professional Services Operating System,” which means it must seamlessly exchange data with your other core business systems.

Integration Dispatcher

Outbound data synchronization is managed by a robust backend architecture.

  1. Scheduling: A cron job runs every minute, checking for integration_mappings that are due for a sync.
  2. Execution: The dispatcher pushes tasks to a Cloud Tasks queue, triggering the run_integration function. This function handles data transformation and transmission. It automatically determines whether to create or update the record in the external system based on the presence of an external ID.
  3. Tracking: Success, failure, and the next_run_time are tracked per mapping to ensure data integrity.

Dynamic Formulas

You can transform data before sending it to an external system using string interpolation formulas. When configuring an outbound mapping, enable the Formula option.

  • Syntax: Use single braces for field substitution (e.g., {status}). You can also slice strings using slice notation (e.g., {id[0:15]} to extract the first 15 characters).
  • Fallbacks: Use the pipe character | to provide fallback expressions if a field is empty (e.g., {resource}|(P) {name}). The system evaluates from left to right and uses the first non-empty result.
  • Context: Formulas have access to the current document’s fields. If the document is nested, you can access the parent document’s data via the parent object (e.g., {parent.name}).
  • Lookups: The text output of a formula is automatically compatible with lookup and external_lookup types. The integration dispatcher uses an intelligent fallback mechanism: it first attempts a local Firestore lookup, and if no ID is resolved, it automatically falls back to an external SOQL query against the destination system. External queries search against the target object’s Name field by default, but can be customized by specifying an extField parameter in your mapping.

Monitoring Errors

If an integration sync fails (e.g., due to mapping issues, invalid Salesforce records, or authentication failures), Servantium logs the failure to help administrators troubleshoot.

  1. Navigate to Settings > Integrations.
  2. Click the Errors tab.
  3. Review the table of recent synchronization failures.

The Errors table displays the direction of the sync (Inbound or Outbound), the target object, the specific record ID, and the raw error message returned by the external system.

Salesforce Integration

Servantium includes native, bidirectional support for Salesforce.

  • Opportunities to Engagements: Automatically pull Salesforce Opportunities into Servantium to begin the scoping process.
  • Quotes to Salesforce: Once a quote is finalized in Servantium, push the line-item detail and total pricing back into Salesforce for final contracting.
  • Secure Auth: Uses OAuth 2.0 to ensure your Salesforce credentials never touch Servantium’s persistent storage.
  • Sync Reliability: The integration dispatcher uses transactional locking to prevent duplicate records from being created in Salesforce during rapid or concurrent updates.
Note

Custom integrations can be built using the same dispatcher framework, allowing you to connect to ERPs, HRIS, or custom internal tools.

Need more help?

Our support team is available to assist you.

Contact Support