PortlinePortlineDocs

Connections

The outside systems each area connects to, who can connect them, and how they are mocked in this build.

All mocked in this build

Portline doesn't call any outside service. Every connector below is simulated, and each one needs a vendor decision and a check before launch.

Where connectors live

  • Each area has an Integrations page listing the connectors that area uses, with the data each one brings in and its status. Some connectors appear in more than one area; Samsara, for example, feeds Fleet, Overview and Docks.
  • Settings → Connections lists every connector in one place.
  • Only owners and admins connect or disconnect. Dispatchers and viewers see the same pages read-only.
  • Your plan decides which connectors are available. A connector is available when the plan opens at least one area that uses it. A few also need an extra feature: reefer sensor readings need reefer telemetry (Growth and up). Connectors outside your plan are listed but can't be connected.

Status and sync

In demo mode every status (connected, degraded, error, waiting for first sync) is generated with the rest of the demo data. Nothing is actually syncing.

In local database mode, clicking Connect records a pending request. The health fields (status, last sync, last error and events in the last 24 hours) are written only by the sync worker, which runs with the service role. A signed-in user can request a connection or disconnect one, and nothing else. Postgres enforces this with the pl_connections guard trigger: it refuses any other status change from a client and stamps who made the request and when. Disconnecting keeps the row so you can still see who connected it.

All connectors

Logos come from simple-icons (CC0). Brands that aren't in simple-icons get a plain monogram. Brand names and logos belong to their owners and are shown only to identify the connector.

ConnectorCategoryUsed byAuthFrom planIn this build
p44project44Ocean visibilityShipments,Containers,OverviewAPI keyStarterMock in this build · verify before launch
VZVizionOcean visibilityContainers,ShipmentsAPI keyStarterMock in this build · verify before launch
MTMarineTrafficVessel positionsOverview,FleetAPI keyStarterMock in this build · verify before launch
DHL ExpressParcel carriersShipmentsAPI keyStarterMock in this build · verify before launch
FedExParcel carriersShipmentsOAuthStarterMock in this build · verify before launch
UPSParcel carriersShipmentsOAuthStarterMock in this build · verify before launch
SSamsaraTruck telematicsFleet,Overview,DocksOAuthStarterMock in this build · verify before launch
GGeotabTruck telematicsFleetOAuthDrayage & truckingMock in this build · verify before launch
TomTom TrafficTraffic and ETAsDocks,FleetAPI keyDrayage & truckingMock in this build · verify before launch
OCORBCOMMReefer sensorsContainers,ShipmentsSigned webhookCold chainMock in this build · verify before launch
OpenStreetMapMapsOverviewNo credentialsStarterMock in this build · verify before launch
SAP S/4HANAERP and ordersWarehouses,ShipmentsOAuthStarterMock in this build · verify before launch
NSNetSuiteERP and ordersWarehousesOAuthCold chainMock in this build · verify before launch
ShopifyERP and ordersWarehousesOAuthCold chainMock in this build · verify before launch
Zebra scannersScanningWarehouses,DocksSigned webhookDrayage & truckingMock in this build · verify before launch
Google CalendarCalendarsDocksOAuthDrayage & truckingMock in this build · verify before launch
TwTwilioMessagingMessages,DocksAPI keyStarterMock in this build · verify before launch
WhatsApp BusinessMessagingMessagesAPI keyStarterMock in this build · verify before launch
ResendMessagingMessagesAPI keyStarterMock in this build · verify before launch
SlSlackAlertsOverview,MessagesOAuthStarterMock in this build · verify before launch
OktaSign-inTeamSAML / OIDCStarterMock in this build · verify before launch
Google WorkspaceSign-inTeamOAuthStarterMock in this build · verify before launch
MEMicrosoft Entra IDSign-inTeamSAML / OIDCStarterMock in this build · verify before launch

Webhook URLs

Wherever a user could enter an outbound URL (a webhook target, a carrier endpoint), it goes through a guard first. The guard only accepts https on the default port, and refuses credentials in the URL, IP literals, numeric hosts, and internal names such as localhost or *.internal. A real HTTP client would also need to check DNS at request time and refuse redirects; that comes with the first real connection.

On this page