Skip to content

Resident Portal Third Party Integration Framework

This guide explains how to embed your product inside Funnel’s Resident Portal and exchange data through our Partner API.

Third Party Integration Diagram


  • Partners who want to render a widget or web app inside Funnel’s Resident Portal
  • Developers who need standardized data contracts and authentication
  • Host your UI inside Runnel’s Resident Portal via a secure, standardized pattern
  • Receive the resident and lease context your widget needs
  • Send updates back to Funnel through vetted Partner API endpoints
  • A no‑code connector to every possible partner data model
  • A substitute for partner‑specific feature work in the CRM or agent tools

  • Get API access

    • Request Partner API access. We provision an API key in our secrets store.
    • Use this key when calling Partner API endpoints, if your integration fetches context or posts results.
  • Register your UI

    • Provide the URLs we should load for your widget (script or deep‑link).
    • Include any information including tokens and/or required parameters needed to get UI to work
  • Receive context & render

    • Funnel will provide a stable Partner API for you to fetch context to help you render your UI
    • You render your experience and raise standard events (success, error, progress) as needed.
  • (Optional) Send updates back

    • If your use case needs to post outcomes to Funnel, we’ll provision a partner‑specific, versioned endpoint.

  • Deep‑link / iFrame URL
    • Funnel’s Resident Portal loads your URL.
    • You fetch context from the Partner API using your API key and configured scopes.

  • Partner API key provisioned
  • UI registered with URLs + secret names

  • Integration name
  • Load method
    • Deep‑link URL
  • Secret names (not secret values)
    • We store secret names only; values live in our AWS secret manager
  • Capabilities
    • Whether you support standard events

Typical fields (subject to client configuration):

  • Community
    • id, name, address, timezone
  • Resident / Person
    • id, name, email, locale
  • Lease
    • id, status, start_date, end_date, unit
  • Access flags
    • payments_enabled, service_requests_enabled, etc.

Notes:

  • Exact schema may vary; we keep it stable across partners and version breaking changes.
  • Sensitive data is excluded by default.

ResidentApp will listen for these events from your UI to drive UX and logging.

  • status.success - Fire when the resident successfully completes their task.
  • status.error - Fire when an error occurs during the widget experience.
  • status.cancelled - Fire when the resident chooses not to complete their task.

Some partners need to notify Funnel of outcomes (e.g., policy bound, account created, workflow completed).

Pattern:

  • We stand up a partner‑specific, versioned endpoint under the Partner API
  • Authentication uses your existing API key
  • Payload contains your external identifiers plus our stable ids
  • We validate, persist, and fan out to downstream systems as needed

Because each partner’s data contract differs, we keep these endpoints small and explicit, and document them per integration.


  • Authentication
    • Partner API calls require your issued API key.
  • Least privilege
    • Context includes only the data your widget needs to render.
  • PII
    • Avoid storing resident PII unless contractually required. If you must, follow your standard security and retention policies.