Ellipse Gradient for Header

Yardi Voyager Integration Guide

Yardi Voyager integrates with enterprise systems through customer-specific web services, SOAP/XML interfaces, file exchanges, and selected outbound notifications.

Yardi Voyager integration options at a glance

Yardi Voyager integrations depend on the interface provisioned for each customer, enabled module, and product edition. Available mechanisms may include customer-specific REST endpoints, SOAP or XML web services, scheduled imports and exports, batch exchanges, files, and selected outbound notifications or callbacks. A universal REST API, GraphQL API, or all-object webhook model is not confirmed. Martini can consume confirmed Yardi web services, process JSON or XML, receive compatible callbacks, orchestrate scheduled file or batch workflows, and map Voyager data into canonical models. Credentials, endpoint URLs, property permissions, and interface-specific keys or service accounts can be stored in environment configuration.

Integration pointSupported by Yardi Voyager?Common use casesHow Martini supports it
REST APIsNot confirmedSome customer environments may provision REST endpoints for property, leasing, maintenance, or financial operations, but a broadly available Yardi Voyager REST API was not verified.Martini can consume a confirmed Yardi REST endpoint from workflows, map responses, apply business rules, and publish results to downstream systems.
SOAP APIsLimitedYardi has historically provided web-service integrations, with SOAP/XML operations and contracts varying by customer, product edition, and enabled modules.Martini can consume a Yardi SOAP service when an endpoint and WSDL or equivalent specification are supplied, then transform XML payloads.
Webhooks / outbound callbacksLimitedSelected Yardi interfaces may provide outbound notifications, callbacks, or event-specific interfaces, but no universal all-object webhook model was confirmed.Martini can receive compatible callback or webhook-style requests through an API or workflow trigger and process them idempotently.
Bulk / async / batch APIsLimitedScheduled and batch-oriented exchanges may support accounting, resident, leasing, property, or other high-volume data flows, subject to the customer interface.Martini can orchestrate bounded batch workflows, checkpoint progress, reconcile counts, and separate transient failures from data errors.
File / attachment APIsLimitedCustomer-specific file imports, exports, and exchanges may be used for property, resident, leasing, accounting, or other operational data; a general attachment API was not verified.Martini can process supported JSON, XML, Excel, and other file representations and coordinate scheduled file workflows where the required transport is available.
AuthenticationLimitedYardi integrations require interface-specific credentials, service accounts, API keys, shared secrets, or other approved authentication arrangements. Universal OAuth 2.0 or JWT support was not confirmed.Martini can keep endpoint URLs, credentials, tokens, keys, and certificates in environment configuration or secrets management rather than workflow logic.
Database accessNot confirmedDirect access to a customer’s Voyager database should not be assumed and may be restricted or unsupported.Martini should use documented Yardi interfaces, reports, or file exports instead of direct database access unless Yardi explicitly authorizes another approach.

How Yardi Voyager exposes data and business events

Yardi Voyager SOAP/XML services

Yardi has historically offered web-service integrations, and customer-specific documentation may define SOAP operations with XML request and response contracts. The exact endpoint, authentication scheme, object coverage, and write operations must be confirmed for the target Voyager environment.

Martini implementation pattern

Martini implementation pattern: Martini consumes the supplied SOAP endpoint and WSDL or equivalent specification, configures interface-specific authentication, validates XML, maps Yardi objects to canonical structures, invokes downstream workflows, and preserves correlation identifiers for troubleshooting.

Implementation sequence

Receive the Yardi SOAP request or start a scheduled service call
Authenticate with the provisioned Yardi credentials
Validate XML namespaces, required elements, and data types
Invoke the confirmed Yardi operation
Map the XML response into a canonical model
Apply validation, status, and permission rules 후?

Yardi Voyager REST endpoints

A generally available Yardi Voyager REST API was not confirmed. Some customer environments may nevertheless provision REST endpoints for selected property, leasing, maintenance, or financial operations.

Martini implementation pattern

Martini implementation pattern: Where Yardi supplies a REST contract, Martini consumes the endpoint from a workflow, stores environment-specific configuration securely, handles pagination or incremental filters when available, maps JSON responses, and exposes normalized results through APIs or downstream workflows.

Implementation sequence

Start the scheduled or API-led synchronization
Authenticate using the confirmed Yardi interface method
Retrieve the requested Yardi resource or page
Apply checkpoint, date-window, and permission rules
Map the JSON response to the target model
Write the normalized result and record the checkpoint

Yardi outbound callbacks

Selected Yardi interfaces may provide outbound notifications, callbacks, or event-specific integrations, but no universal webhook framework covering all object changes was verified.

Martini implementation pattern

Martini implementation pattern: Martini exposes a controlled receiving API or workflow trigger for a supported callback, validates the sender and payload, deduplicates notifications, retrieves the current Yardi resource when necessary, and routes the event to downstream applications.

Implementation sequence

Receive the supported Yardi callback
Validate authentication, signature, and required identifiers
Check the event against the duplicate store
Retrieve the current object when the callback is only a notification
Map the object and apply business rules
Acknowledge the callback and record processing status

Yardi Voyager batch and file exchange

Yardi implementations may use scheduled imports, exports, and batch-oriented interfaces for accounting, resident, leasing, property, and other data. File format, transport, schedule, and object coverage are customer-specific.

Martini implementation pattern

Martini implementation pattern: Martini starts a scheduled workflow, obtains or receives the approved file, validates its structure, parses JSON, XML, Excel, or another supported representation, transforms rows into canonical objects, writes results to targets, and produces reconciliation output.

Implementation sequence

Start the scheduled batch workflow
Retrieve or receive the approved Yardi file
Validate file structure, encoding, and required columns
Parse and transform each batch item
Apply duplicate, accounting, and permission rules
Write accepted results and generate a reconciliation report

Common Yardi Voyager integration patterns

Pattern 1: Synchronize residents and leases

When to use this pattern

Use this pattern when resident, unit, and lease information must be synchronized with a CRM, resident portal, identity platform, or data warehouse. The preferred incremental method depends on whether the Yardi interface provides modified-date filters, change tokens, or delta exports.

Integration direction
Yardi Voyager
Martini
Salesforce
Example Mapping
Yardi Voyager FieldCanonical FieldTarget Field
Resident IDresident.sourceIdContact.ExternalId
Unit IDlease.unitSourceIdLease.UnitReference
Lease Start Datelease.startDateLease.StartDate
Lease Statuslease.statusLease.Status
Martini implementation pattern

A scheduled or supported callback-triggered Martini workflow retrieves changed Residents, Units, and Leases, maintains source-to-target cross-references, masks sensitive values in logs, validates required relationships, and performs idempotent target updates. Transient failures are retried with bounded backoff, while validation failures are isolated for review.

Martini capabilities used
  • workflows
  • API consumption
  • scheduled triggers
  • data mapping
  • business rules
  • error handling

Pattern 2: Orchestrate maintenance work orders

When to use this pattern

Use this pattern when Yardi Work Orders must be routed to ServiceNow or another work-management application based on property, building, category, priority, assigned vendor, emergency status, or current state.

Integration direction
Yardi Voyager
Martini
ServiceNow
Example Mapping
Yardi Voyager FieldCanonical FieldTarget Field
Work Order IDworkOrder.sourceIdIncident.ExternalReference
Property IDworkOrder.propertySourceIdIncident.PropertyReference
PriorityworkOrder.priorityIncident.Priority
Work Order StatusworkOrder.statusIncident.State
Martini implementation pattern

Martini receives a supported callback or polls Work Orders on a schedule, translates Yardi status and priority codes, routes emergency and after-hours items, creates or updates the target item using a stable external key, and sends permitted status changes back to Yardi. Conflicts and downstream failures are recorded without duplicating work orders.

Martini capabilities used
  • workflow orchestration
  • API consumption
  • conditional routing
  • data mapping
  • idempotency
  • error handling

Pattern 3: Publish property and unit availability

When to use this pattern

Use this pattern when a website, leasing application, analytics platform, or marketing system needs normalized availability from Yardi Properties, Buildings, and Units.

Integration direction
Yardi Voyager
Martini
Snowflake
Example Mapping
Yardi Voyager FieldCanonical FieldTarget Field
Property IDproperty.sourceIdproperty_id
Building IDunit.buildingSourceIdbuilding_id
Unit Statusunit.availabilityStatusavailability_status
Unit IDunit.sourceIdunit_id
Martini implementation pattern

A scheduled Martini workflow retrieves bounded property and unit data, distinguishes available, occupied, notice, offline, and future-lease states using configured mappings, validates parent references, and publishes a normalized feed. Checkpoints prevent unnecessary full-portfolio retrievals, and reconciliation identifies missing or changed units.

Martini capabilities used
  • scheduled workflows
  • API or file consumption
  • data mapping
  • configuration-driven rules
  • checkpoint management
  • monitoring

Pattern 4: Exchange financial transactions

When to use this pattern

Use this pattern for controlled exchange of approved Charges, Payments, Invoices, or general-ledger-related transactions with a finance or reporting platform. It is appropriate where the Yardi interface supports the required read or write operations.

Integration direction
Yardi Voyager
Martini
NetSuite
Example Mapping
Yardi Voyager FieldCanonical FieldTarget Field
Invoice Numberinvoice.sourceNumberVendorBill.ExternalId
Property IDtransaction.propertySourceIdLocation.ExternalId
Amounttransaction.amountTransaction.Amount
Accounting Periodtransaction.accountingPeriodTransaction.AccountingPeriod
Martini implementation pattern

Martini retrieves approved financial batches, validates accounting periods, currency, decimal precision, and duplicate keys, maps transactions to the finance model, and records batch-level counts and identifiers. Writes back to Yardi occur only when explicitly supported; retries are limited to safe transient failures.

Martini capabilities used
  • batch workflows
  • data transformation
  • business rules
  • validation
  • reconciliation
  • error handling

Applications commonly integrated with Yardi Voyager

Yardi Voyager can participate in broader property-management, finance, customer-service, document, and analytics architectures. The exact objects, direction, and write capabilities must be confirmed against the customer’s provisioned Yardi interface.

Application Scenario Direction Martini Pattern
Salesforce Synchronize prospects, residents, property information, leasing activity, and customer-service context between property operations and CRM processes. Yardi Voyager → Martini → Salesforce Martini retrieves or receives confirmed Yardi data, maps Residents, Properties, Units, and leasing-related objects to Salesforce models, applies privacy and duplicate rules, and routes selected Salesforce status updates back only where Yardi write operations are supported.
ServiceNow Route maintenance requests, incidents, approvals, and facilities work into ServiceNow workflows while returning assignment or completion status when supported. Yardi Voyager → Martini → ServiceNow A Martini workflow polls or receives supported Work Order notifications, translates property and priority codes, creates or updates ServiceNow work items idempotently, and processes permitted status updates back to Yardi.
NetSuite Exchange invoices, payments, vendors, charges, and accounting information with a finance platform. Yardi Voyager → Martini → NetSuite Martini runs a controlled batch workflow, validates accounting periods and monetary precision, maps Charges, Payments, Invoices, and related identifiers, performs reconciliation, and retries only safe transient failures.
Microsoft Dynamics 365 Synchronize leasing, customer, property, and selected financial information with Microsoft business applications. Yardi Voyager → Martini → Microsoft Dynamics 365 Martini normalizes Yardi payloads into Dynamics entities, applies configurable status and ownership mappings, maintains cross-references, and supports bidirectional processing only for operations exposed by both interfaces.
Workday Exchange selected employee, organizational, supplier, cost, or reporting information for property-management organizations. Workday → Martini → Yardi Voyager Martini receives approved Workday reference data or extracts Yardi cost information, transforms organization and supplier codes, validates access boundaries, and submits only operations allowed by the Yardi interface.
DocuSign Coordinate electronic lease, renewal, and property-management document-signing processes. Yardi Voyager → Martini → DocuSign Martini prepares DocuSign requests from permitted lease data, correlates envelope identifiers, processes signing status or completed-document notifications, and updates Yardi or a document repository when the provisioned interfaces allow it.
AppFolio Support controlled portfolio migration or synchronization where an organization operates mixed property-management environments. Yardi Voyager → Martini → AppFolio Martini extracts approved Yardi Properties, Units, Residents, and Leases, maps them to AppFolio’s accepted import model, validates duplicates and required fields, and produces migration reconciliation results.
Snowflake Centralize property, lease, resident, maintenance, and financial data for reporting and analytics. Yardi Voyager → Martini → Snowflake Martini retrieves confirmed Yardi API, web-service, or file outputs, converts XML or JSON to governed analytical structures, masks sensitive fields where required, and loads incremental or reconciled batches into Snowflake.

How to build a Yardi Voyager integration in Martini

Objective

Establish the customer-specific Yardi interface and separate test and production configuration before implementing business flows.

Instructions in Martini

  • Confirm the provisioned Yardi endpoint, protocol, WSDL or file specification, supported objects, and operations.
  • Store credentials, keys, shared secrets, endpoint URLs, and certificates in Martini environment configuration.
  • Apply least-privilege property, organization, module, and workflow access.

Objective

Select a trigger that matches the interface actually provided by Yardi rather than assuming universal webhooks or real-time events.

Instructions in Martini

  • Use a supported callback or webhook-style trigger when Yardi provides one for the required event.
  • Use a scheduler for polling, batch exports, incremental retrieval, or reconciliation workflows.
  • Define bounded date windows, checkpoints, and expected batch sizes.

Objective

Receive or retrieve Yardi payloads reliably while preserving identifiers needed for correlation, deduplication, and auditability.

Instructions in Martini

  • Consume the confirmed REST, SOAP/XML, file, or callback interface.
  • Handle pagination, continuation tokens, modified-date filters, or file batches when available.
  • Preserve source object identifiers and correlation identifiers without logging sensitive resident data.

Objective

Coordinate Yardi calls, validation, transformation, routing, target writes, and response handling in a maintainable Martini workflow.

Instructions in Martini

  • Separate transport, validation, mapping, business rules, and target delivery responsibilities.
  • Route objects using property, building, status, priority, vendor, or accounting rules.
  • Use reusable services or workflow components for repeated interface behavior.

Objective

Convert Yardi-specific XML, JSON, file fields, codes, and relationships into a canonical model for downstream systems.

Instructions in Martini

  • Map actual Yardi objects such as Properties, Units, Residents, Leases, Work Orders, and financial objects.
  • Translate implementation-specific status and classification codes through configuration or controlled reference data.
  • Handle local time zones, dates, currency, decimal precision, optional fields, and repeated XML elements.

Objective

Validate data and enforce privacy, permissions, duplicate prevention, and operational policies before writing to another system.

Instructions in Martini

  • Validate required identifiers, parent relationships, accounting periods, and permitted property scope.
  • Use stable Yardi identifiers or approved composite keys for idempotent processing.
  • Mask personally identifiable and financial information in logs and diagnostic output.

Common Yardi Voyager data objects used in integrations

ObjectTypical UseCommon target systemsMartini handling
PropertiesRepresents managed properties, communities, or real-estate assets used to scope operations and reporting.Salesforce, Microsoft Dynamics 365, Snowflake, NetSuiteMartini maps property identifiers and classifications into canonical property models, preserves source keys, and applies property-level permissions and status rules.
BuildingsRepresents physical structures associated with Properties and supports operational, maintenance, and availability processes.ServiceNow, Snowflake, leasing applications, reporting platformsMartini links Buildings to Properties, translates implementation-specific classifications, validates parent references, and routes data to operational or analytical targets.
UnitsRepresents apartments, suites, homes, commercial spaces, or other rentable units, including availability-related information.Salesforce, AppFolio, websites, leasing applications, SnowflakeMartini normalizes unit identifiers and status values, distinguishes available, occupied, notice, and offline states, and maintains incremental synchronization checkpoints.
Residents / TenantsRepresents people or organizations occupying or leasing Units and related resident information.Salesforce, resident portals, Workday, SnowflakeMartini applies field-level mapping, privacy controls, validation, cross-reference management, and masked logging for personally identifiable information.
LeasesRepresents lease agreements, terms, charges, occupants, renewals, and related unit or resident relationships.Salesforce, DocuSign, AppFolio, SnowflakeMartini maps lease dates, identifiers, occupants, and statuses, handles local time and date rules, and uses idempotent upserts or controlled batch processing.
Work OrdersRepresents maintenance requests, assignments, priorities, vendors, statuses, and completion details.ServiceNow, field-service applications, SnowflakeMartini routes Work Orders using property, building, category, priority, vendor, and emergency rules, then processes permitted status updates and retries safely.

Authentication and security considerations

Interface-specific authentication

Yardi Voyager authentication depends on the customer-specific interface. Service-account credentials, API keys, shared secrets, or other approved mechanisms may apply; OAuth 2.0 and JWT bearer authentication should not be assumed as universal Yardi capabilities.

Environment and access controls

  • Keep test and production endpoints and credentials separate.
  • Use least-privilege access scoped to the required properties, organizations, modules, and operations.
  • Use HTTPS where supported and validate certificates in production.
  • Store credentials, keys, tokens, endpoint URLs, and certificates in Martini secrets or environment configuration.

Privacy and auditability

Residents, leases, payments, charges, and maintenance data may contain personal or financial information. Mask sensitive payload values in logs, restrict workflow access, retain only necessary data, and preserve audit identifiers for material changes.

Operational considerations for Yardi Voyager integrations

Interface variability

Confirm the Yardi edition, enabled modules, endpoint contract, supported read and write operations, property permissions, and test environment before implementation. Do not infer capabilities from another Voyager deployment.

Throughput and incremental retrieval

Universal public rate limits were not confirmed. Respect customer-specific limits, use bounded concurrency and exponential backoff, and avoid repeatedly retrieving full portfolios. Confirm pagination, maximum response sizes, modified-date filters, continuation tokens, and watermark fields.

Idempotency and reconciliation

Use stable Yardi identifiers or approved composite keys for Properties, Units, Leases, Work Orders, Invoices, and transactions. Preserve request and response identifiers, make writes safe to retry, and report retrieved, created, updated, skipped, failed, and retried counts.

Schema and data quality

  • Version WSDLs, interface specifications, and file layouts.
  • Handle XML namespaces, optional elements, repeated values, and implementation-specific codes.
  • Account for property-local time zones, daylight-saving changes, accounting periods, currencies, decimal precision, reversals, and adjustments.
  • Test representative data across properties, modules, statuses, and error conditions.

Why use Martini instead of scripts or point-to-point integrations?

Centralized orchestration

Martini provides a maintainable workflow layer for receiving Yardi inputs, invoking confirmed interfaces, validating data, applying business rules, and delivering results to multiple applications without duplicating transport and error logic in point-to-point scripts.

Reusable transformation

Yardi-specific XML, JSON, file structures, identifiers, and status codes can be mapped into canonical property-management, leasing, maintenance, or accounting models and reused across downstream integrations.

Operational control

Workflows can support scheduled and event-driven processing, checkpoints, idempotency, bounded retries, reconciliation, secure configuration, and diagnostic logging. Martini can also expose a controlled API façade that hides Yardi-specific details from consuming applications.

Adaptable implementation

Because Yardi interface availability varies by customer, Martini’s standards-based API, SOAP, file, callback, mapping, and workflow capabilities allow the implementation to follow the confirmed interface rather than requiring an assumed connector or direct database dependency.

Frequently asked questions

How can Yardi Voyager be integrated with enterprise systems?

Yardi Voyager can be integrated through the web services and interfaces provisioned for a customer, which may include SOAP/XML services, customer-specific REST endpoints, scheduled imports and exports, batch files, and selected outbound notifications or callbacks. The exact protocol, objects, authentication, and operations vary by edition, modules, and customer configuration.

Can Martini integrate with Yardi Voyager?

Yes. Martini can integrate with Yardi Voyager by consuming a confirmed Yardi REST endpoint, SOAP/XML service, file exchange, or supported callback, then orchestrating workflows that validate, map, transform, and deliver Yardi data to other systems. A generally available Yardi REST API is not assumed.

Do I need a connector to integrate Yardi Voyager with Martini?

No. A dedicated Yardi Voyager connector is not required. Martini can use the native Yardi interface confirmed for the customer, such as REST, SOAP/XML, files, outbound callbacks, or another compatible endpoint, and coordinate the integration through workflows and APIs.

Is there any extra Lonti cost to integrate Yardi Voyager with Martini?

Lonti does not charge an additional per-connector or per-vendor fee to integrate Yardi Voyager. The integration is subject to the provisioned capacity of the Martini environment. Separate costs may apply from Yardi, cloud infrastructure, or other third-party systems based on subscription, usage, and deployment model.

Which Yardi Voyager integration method should an architect use?

Use the interface documented and provisioned for the target Voyager environment. SOAP/XML web services, scheduled batch or file exchange, selected callbacks, and customer-specific REST endpoints may be relevant. GraphQL was not confirmed, and direct database access should not be assumed.

Does Yardi Voyager provide webhooks or callbacks for changes?

Selected Yardi interfaces may provide outbound notifications, callbacks, or event-specific integrations, but no universal all-object webhook capability was verified. Do not assume every Property, Unit, Lease, Resident, Work Order, or financial change generates an event; use scheduled polling or batch exchange when required.

How does synchronization between Yardi Voyager and another system work?

Martini can run scheduled or callback-driven workflows that retrieve or receive Yardi data, use modified-date filters, change tokens, delta exports, or controlled date windows when available, and maintain checkpoints and cross-references. Idempotent keys and reconciliation reports help prevent duplicates and identify omissions.

Can Martini map Yardi Voyager data and handle failures?

Yes. Martini can transform Yardi XML, JSON, and supported file formats into canonical models, translate implementation-specific status codes, validate relationships, and apply business rules. Workflows can distinguish validation, authentication, authorization, rate-limit, connectivity, and downstream failures, retry transient errors, and isolate items requiring review.