Porter

Sign in to the dashboard

Checking how this install signs you in…

A

Porter

    What each rung reaches
    Visitor General information only
    Resident Own records, by tenant id
    Owner Own properties, no resident ledgers
    Staff Whole portfolio, still redacted
    Install

    One line, then publish.

    Paste this into the customer's site. Webflow: Project settings → Custom code → Head code. Squarespace: Settings → Advanced → Code injection → Footer.

    …

    Who may embed it

    The widget only answers requests from origins you list under Content. Leave the list empty and any site can embed your key.

    AppFolio connection

    Connect the account the bot reads from.

    From AppFolio: Settings → Integrations → API. The client secret is encrypted with AES-256-GCM before it is stored, and is never sent back to this page — not even to the administrator who typed it.

    Brand kit

    Match the widget to the customer's site.

    Pick a preset as a starting point, then adjust. The preview mirrors the real widget and updates as you type.

    Colours
    Live preview
    Content and origins

    The only thing a signed-out visitor can be told.

    General information is all the bot can answer from before anyone signs in. Put hours, policies, application steps, and contact details here.

    Reads a few pages and drafts the text below. Nothing is published until you read it, edit it, and save.

    When Porter needs a person

    Porter hands a conversation over when somebody asks for a human, or when it cannot answer. Without an address it has no way to reach you and will say so rather than pretend.

    With a number here Porter says "someone will follow up within that time". Left blank it just says someone will follow up — it will not invent a commitment on your behalf.

    Shown immediately, before Porter answers anything, when somebody mentions a fire, flood, gas leak, break-in, or loss of heat. Left blank they are told to call their local emergency number instead.

    Availability

    Choose what the chatbot may offer.

    Every unit AppFolio reports as unleased. Tick the ones the chatbot may tell the public about — AppFolio knows a unit is empty, but only you know whether it can be shown. Nothing here is published until you say so, and a unit that gets leased disappears on its own.

    Accounts

    Every account sits on a rung.

    A resident's AppFolio tenant id is what limits every lookup to their own records. Without it their lookups cannot be scoped, and the bot will refuse them.

    Add an account

    Access log

    Every lookup, sign-in, and change.

    Newest first.

    WhenWhoActionDetail
    Leads

    Everyone who filled in a form.

    Newest first. Status saves the moment you change it.

    CapturedNameEmailPhone FormStatus
    Opening screen

    What the widget offers before anyone types.

    One list. A row either asks the assistant something on the visitor's behalf, or takes them somewhere directly — signing in, or a form. The chat box is always there regardless, so nothing here traps anyone.

    Shown above the buttons. Saved when you click away.

    Rows

      Preview
      Forms

      The questions a visitor is walked through.

      A form is off until you turn it on. Nothing is asked of anybody while it is a draft.

      Shown the moment they finish.

      Questions

      What happens on submit

        Saves as you type.