.png)
Accela Integration Guide
Connect Accela Civic Platform with enterprise applications through REST APIs, OAuth 2.0, configurable event notifications, document operations, and scheduled synchronization.
Accela integration options at a glance
Accela Civic Platform’s primary integration mechanism is its REST API, which exposes resources such as Records, Inspections, Contacts, Addresses, Parcels, and Documents. Accela deployments may also provide configurable event notifications or outbound callbacks for selected scenarios, but universal webhook coverage is not confirmed. OAuth 2.0 application authentication, tenant and agency context, pagination, and incremental synchronization are important implementation concerns. Martini can consume Accela APIs from workflows, receive supported callbacks, map and transform data, transfer documents, expose normalized APIs, and coordinate scheduled, restartable synchronization with secure secrets and operational controls.
Common Accela integration patterns
Common Accela data objects used in integrations
Authentication and security considerations
OAuth 2.0 application authentication
Accela integrations generally use OAuth 2.0 access tokens issued to a registered application. The required client credentials, permissions, scopes, token settings, tenant, environment, agency, and context parameters depend on the target Civic Platform deployment.
Protecting credentials and access
- Store client secrets, tokens, environment URLs, and agency-specific configuration in Martini secrets or protected environment configuration.
- Use the least-privileged Accela application permissions required for the integration.
- Handle token expiration, refresh, revoked applications, invalid credentials, and insufficient permissions as distinct conditions.
- Do not place credentials or sensitive payloads in workflow logs or integration messages unnecessarily.
Operational considerations for Accela integrations
Agency-specific schemas
Record types, custom fields, inspection types, statuses, fee structures, resources, and permissions can vary by agency, environment, Civic Platform version, and enabled products. Validate the target deployment rather than assuming a universal schema.
Throughput and synchronization
- Follow REST pagination and use modification timestamps, status filters, or other stable incremental criteria where available.
- Confirm rate limits and use bounded concurrency, request pacing, exponential backoff, and retry limits.
- Persist checkpoints and advance them only after the corresponding page or unit of work succeeds.
- Use stable Accela identifiers and idempotent upserts to prevent duplicate downstream objects.
Events, documents, and change management
- Verify which event types, resources, and agencies support callbacks; schedule reconciliation when event coverage is incomplete.
- For Documents, account for file size, content type, permissions, versioning, duplicate detection, and partial transfers.
- Monitor API versions, custom fields, enumerations, and configuration changes, and test mappings against representative agency data.
Why use Martini instead of scripts or point-to-point integrations?
Centralized orchestration
Martini provides a workflow layer for authentication, pagination, related-resource retrieval, transformation, business rules, target writes, and exception handling. This avoids duplicating Accela-specific logic across point-to-point scripts.
Maintainable integration assets
- Expose normalized APIs so downstream consumers do not each need to understand agency-specific Accela models.
- Reuse mappings, validation, authentication configuration, and error-handling patterns across Records, Inspections, Documents, and other resources.
- Support scheduled, callback-driven, and restartable workflows with checkpoints and controlled retries.
- Keep credentials and deployment-specific values separate from workflow logic for safer promotion across environments.
Operational visibility
Centralized workflows make correlation identifiers, failed requests, retry behavior, checkpoints, and reconciliation outcomes easier to monitor than independent scripts or tightly coupled application integrations.