Skip to main content

Uptick

Extract data from Uptick, a field service management platform designed for the fire protection industry.

Prerequisites​

The connector authenticates with the Uptick API using OAuth 2.0 with the password grant, so you need both an OAuth application and an Uptick user account:

  • Your Uptick instance URL, for example https://yourcompany.onuptick.com.
  • An OAuth Client ID and Client Secret generated from your Uptick instance.
  • The email address and password of an Uptick user account. The connector signs in as this user, so the account must have permission to view every resource you want to sync.

To generate the OAuth credentials, go to Control Panel > Uptick API in your Uptick instance, select Create Application, provide a name, and save. Uptick generates the Client ID and Client Secret for you. For step-by-step instructions, see Uptick API - Getting started.

Configuration​

InputTypeDescriptionDefault Value
base_urlstringYour Uptick instance URL, for example https://yourcompany.onuptick.com. Do not include a trailing slash.
client_idstringOAuth Client ID generated from Control Panel > Uptick API.
client_secretstringOAuth Client Secret generated from Control Panel > Uptick API.
usernamestringEmail address for an Uptick user account with API access.
passwordstringPassword for the Uptick user account.

Streams​

The Uptick connector syncs data from the following streams, organized by functional area:

Core business entities​

  • tasks - Work tasks and maintenance requests with scheduling, priority, and assignment details
  • taskcategories - Categories for organizing tasks
  • tasksessions - Time tracking entries for work performed on tasks
  • rounds - Work rounds for technician scheduling and route management
  • projects - Project management entities for larger initiatives
  • clients - Customer organizations and contact information
  • clientgroups - Client organization groupings
  • clientcontacts - Contact people associated with clients
  • properties - Physical locations where work is performed
  • propertycontacts - Contact people associated with properties
  • contractors - External service providers and subcontractors
  • users - System users including technicians and staff
  • servicegroups - Service categorization for organizing work types

Financial and billing​

  • invoices - Customer invoices and billing information
  • invoicelineitems - Individual line items within invoices
  • creditnotes - Credit notes for refunds and adjustments
  • creditnotelineitems - Line items within credit notes
  • billingcards - Billing card information for cost allocation
  • billingcontracts - Recurring billing contracts for ongoing services
  • billingcontractlineitems - Line items within billing contracts
  • costcentres - Cost center assignments for financial tracking
  • task_profitability - Profitability metrics and financial performance data for tasks

Purchasing and supply chain​

  • purchaseorders - Purchase orders for materials and services
  • purchaseorderlineitems - Individual items within purchase orders
  • purchaseorderbills - Bills received for purchase orders
  • purchaseorderbilllineitems - Line items within purchase order bills
  • purchaseorderdockets - Delivery dockets for purchase orders
  • suppliers - Vendor and supplier information
  • products - Products and materials catalog

Asset management and inspections​

  • assets - Physical assets requiring maintenance and inspection
  • assettypes - Categories and specifications for asset types
  • assettypevariants - Variants and configurations of asset types
  • routines - Scheduled maintenance and inspection routines
  • routineservices - Routine service configurations for properties and assets
  • routineservicelevels - Service level definitions for routine services
  • routineservicetypes - Types and categories of routine services
  • routineserviceleveltypes - Service level type classifications
  • majorservices - Major service records for assets
  • servicetasks - Individual work activities on tasks
  • subtasks - Links programme maintenance routines to tasks
  • remarks - Issues, defects, and observations during inspections
  • remarkevents - Events and actions taken on remarks
  • promptquestions - Prompt questions asked during service report completion
  • promptanswergroups - Groupings of prompt answers per service task and section
  • promptanswers - Individual answers to prompt questions
  • appointments - Scheduled appointments for work and inspections

Quality and compliance​

  • accreditations - Technician certifications and qualifications
  • accreditationtypes - Types of certifications and accreditations

Sales​

  • servicequotes - Quotes for service work
  • servicequotefixedlineitems - Fixed price line items within service quotes
  • servicequotedoandchargelineitems - Do-and-charge line items within service quotes
  • servicequoteproductlineitems - Product line items within service quotes
  • defectquotes - Quotes for remedial work on identified defects
  • defectquotelineitems - Line items within defect quotes

Organization and location​

  • branches - Business locations and organizational units

Stream details​

Stream NamePrimary KeyPaginationSupports Full SyncSupports Incremental
tasksidDefaultPaginator✅✅
taskcategoriesidDefaultPaginator✅❌ (no soft delete)
clientsidDefaultPaginator✅❌ (no soft delete)
clientgroupsidDefaultPaginator✅❌ (no soft delete)
propertiesidDefaultPaginator✅❌ (no soft delete)
invoicesidDefaultPaginator✅❌ (no soft delete)
projectsidDefaultPaginator✅❌ (no soft delete)
servicequotesidDefaultPaginator✅❌ (no soft delete)
defectquotesidDefaultPaginator✅❌ (no soft delete)
suppliersidDefaultPaginator✅❌ (no soft delete)
purchaseordersidDefaultPaginator✅❌ (no soft delete)
purchaseorderlineitemsidDefaultPaginator✅❌ (no soft delete)
assetsidDefaultPaginator✅✅
routinesidDefaultPaginator✅❌ (no soft delete)
billingcardsidDefaultPaginator✅❌ (no soft delete)
purchaseorderbillsidDefaultPaginator✅❌ (no soft delete)
purchaseorderbilllineitemsidDefaultPaginator✅❌ (no soft delete)
purchaseorderdocketsidDefaultPaginator✅❌ (no soft delete)
invoicelineitemsidDefaultPaginator✅❌ (no soft delete)
usersidDefaultPaginator✅❌ (no soft delete)
servicegroupsidDefaultPaginator✅❌ (no soft delete)
costcentresidDefaultPaginator✅❌ (no soft delete)
accreditationtypesidDefaultPaginator✅❌ (no soft delete)
accreditationsidDefaultPaginator✅❌ (no soft delete)
branchesidDefaultPaginator✅❌ (no soft delete)
creditnotesidDefaultPaginator✅✅
creditnotelineitemsidDefaultPaginator✅✅
remarksidDefaultPaginator✅✅
assettypesidDefaultPaginator✅✅
assettypevariantsidDefaultPaginator✅✅
productsidDefaultPaginator✅✅
roundsidDefaultPaginator✅✅
tasksessionsidDefaultPaginator✅❌ (no soft delete)
contractorsidDefaultPaginator✅❌ (no soft delete)
appointmentsidDefaultPaginator✅❌ (no soft delete)
billingcontractsidDefaultPaginator✅❌ (no soft delete)
billingcontractlineitemsidDefaultPaginator✅❌ (no soft delete)
defectquotelineitemsidDefaultPaginator✅❌ (no soft delete)
servicequotefixedlineitemsidDefaultPaginator✅❌ (no soft delete)
servicequotedoandchargelineitemsidDefaultPaginator✅❌ (no soft delete)
servicequoteproductlineitemsidDefaultPaginator✅❌ (no soft delete)
remarkeventsidDefaultPaginator✅❌ (no soft delete)
routineservicesidDefaultPaginator✅❌ (no soft delete)
routineservicelevelsidDefaultPaginator✅❌ (no soft delete)
routineservicetypesidDefaultPaginator✅❌ (no soft delete)
routineserviceleveltypesidDefaultPaginator✅❌ (no soft delete)
servicetasksidDefaultPaginator✅✅
subtasksidDefaultPaginator✅✅
task_profitabilitytask_idDefaultPaginator✅✅
clientcontactsidDefaultPaginator✅❌ (no soft delete)
propertycontactsidDefaultPaginator✅❌ (no soft delete)
promptquestionsidDefaultPaginator✅✅
promptanswergroupsidDefaultPaginator✅❌ (no soft delete)
promptanswersidDefaultPaginator✅❌ (no soft delete)
majorservicesidDefaultPaginator✅❌ (no soft delete)

API version and fields​

Every stream except task_profitability reads a pinned Uptick endpoint under /api/v2.15/. The task_profitability stream reads the intelligence report at /api/v2/intelligencereports/profitability_by_task/, which resolves to whichever minor version Uptick currently treats as the latest.

Each stream requests a fixed list of fields using Uptick's sparse fieldsets, so a stream carries a curated subset of what the endpoint can return rather than every field. Fields that Uptick adds later show up only after the connector is updated. Uptick keeps roughly three minor API versions live at a time and retires the oldest, so connector releases that move to a newer minor version can add, rename, or remove fields. The Uptick API patch notes list what changed in each version.

Attribute values​

Uptick returns each record as a JSON:API object with an attributes block. The connector copies every attribute to the top level of the record without changing its value, and also keeps the original attributes object. Monetary and other decimal fields arrive as strings with the precision Uptick sends, such as "10.00", and attributes that Uptick returns as null land as null in your destination.

Before version 1.2.0, the connector re-rendered each attribute through a template, which reformatted decimal strings ("10.00" became "10.0") and turned null into the string "None". If you filter or join on those fields downstream, check for both representations in data synced before you upgraded.

Relationship fields​

Uptick returns related records in a JSON:API relationships object. The connector flattens each relationship into a scalar <relationship>_id column, such as client_id on clientcontacts or property_id on propertycontacts. Use these columns to join streams in your destination.

Prompt data spans three streams, and Uptick reworked its prompt model in API v2.15, so those joins are worth spelling out:

  • promptanswers.answergroup_id joins promptanswergroups.id, and promptanswers.question_id joins promptquestions.id.
  • promptanswergroups.servicetask_id and promptanswergroups.task_id tie a group of answers back to the service task or task the answers were recorded against.
  • promptquestions.section_id and promptanswergroups.section_id reference Uptick prompt sections. The connector doesn't sync prompt sections, so you can't resolve these IDs to section names from synced data alone.

Incremental sync​

For streams that support incremental sync, the connector uses each record's updated timestamp as the cursor and fetches only records changed since the last sync through the Uptick API's updatedsince filter. Streams that support only full refresh are re-read in full on every sync.

The servicegroups and accreditationtypes endpoints ignore the updatedsince filter and always return every row. For these two streams, the connector requests the full table on every sync and then drops records whose updated value is older than the saved cursor before emitting them. Sync time and API usage for these streams don't shrink in incremental mode, but from version 1.2.0 the connector no longer re-emits unchanged rows on every incremental sync.

Airbyte still offers incremental sync in the UI for the streams marked ❌ (no soft delete), because the connector defines the updated cursor for every stream. Avoid it for those streams: their Uptick endpoints don't report deletions, so an incremental sync keeps records in your destination after they're deleted in Uptick. Sync them in full refresh mode instead.

Rate limits​

Uptick enforces rate limits and reasonable-use guidelines on its API. When Uptick throttles a request, the connector reads the Retry-After response header and waits the indicated time before retrying, for up to five attempts. To stay within these limits, sync only the streams and fields you need and schedule syncs no more frequently than your reporting requires.

IP allow list​

If you use Airbyte Cloud and your organization restricts access to specific IPs, add the Airbyte Cloud IP addresses to your allow list.

Reference​

Config fields reference

Field
Type
Property name
string
base_url
OAuth Client ID
required
string
client_id
OAuth Client Secret
required
string
client_secret
Uptick API Account Password
required
string
password
Uptick API Account Email
required
string
username

Changelog​

Expand to review
VersionDatePull RequestSubject
1.2.12026-09-2286843Update dependencies
1.2.02026-09-2186363Emit attribute values verbatim (preserve decimal strings and nulls) and allow null on attribute fields; servicegroups/accreditationtypes now honour incremental state client-side (Uptick ignores updatedsince) — previously every sync re-emitted the full table, so append-only destinations will see fewer duplicate rows per sync
1.1.32026-09-1586280Update dependencies
1.1.22026-09-0885702Update dependencies
1.1.12026-08-1884790Update dependencies
1.1.02026-08-1283710Add 6 new streams (clientcontacts, propertycontacts, promptquestions, promptanswergroups, promptanswers, majorservices), add fields to the clients, properties, invoices, defectquotes, servicequotes, users, and purchaseorders streams, and make relationship field extraction null-safe
1.0.32026-08-1184162Update dependencies
1.0.22026-08-0483652Update dependencies
1.0.12026-07-2883098Update dependencies
1.0.02026-07-2173740Upgrade the Uptick API to v2.15 and remove deprecated fields from the branches, defectquotelineitems, servicetasks, and tasksessions streams
0.5.162026-07-2182628Update dependencies
0.5.152026-07-1481991Update dependencies
0.5.142026-06-3081268Update dependencies
0.5.132026-06-2380682Update dependencies
0.5.122026-06-1680076Update dependencies
0.5.112026-06-0979539Update dependencies
0.5.102026-06-0279025Update dependencies
0.5.92026-04-2877504Update dependencies
0.5.82026-04-2176809Update dependencies
0.5.72026-03-3175703Update dependencies
0.5.62026-03-1775044Update dependencies
0.5.52026-03-1074493Update dependencies
0.5.42026-02-2473926Update dependencies
0.5.32026-02-2372302Add fields to defectquotes and projects streams
0.5.22026-02-1773433Update dependencies
0.5.12026-02-1073007Update dependencies
0.5.02026-01-2271122Add invoice_id to invoicelineitems, and add 6 new streams: servicetasks, routineservices, routineservicelevels, routineservicetypes, routineserviceleveltypes, subtasks
0.4.32026-01-2072056Update dependencies
0.4.22026-01-1471437Update dependencies
0.4.12025-12-1870713Update dependencies
0.4.02025-12-1068194Remove expensive calculation fields from tasksessions, add more streams, including task profitability
0.3.92025-11-2570176Update dependencies
0.3.82025-11-1869684Update dependencies
0.3.72025-10-2968880Update dependencies
0.3.62025-10-2168365Update dependencies
0.3.52025-10-1767585Remove projectsectiontask and add more incremental sync streams
0.3.42025-10-1467855Update dependencies
0.3.32025-10-0767515Update dependencies
0.3.22025-10-0367020Remove start_date, include more task fields
0.3.12025-09-3066839Update dependencies
0.3.02025-09-2566410Add more streams
0.2.42025-09-2466598Update dependencies
0.2.32025-09-0965733Update dependencies
0.2.22025-09-0765534Add extra_fields to property stream
0.2.12025-08-2465445Update dependencies
0.2.02025-08-22Update task profitability stream to use start_date parameter
0.0.112025-08-2165061Add users and task profitability streams
0.0.102025-08-1564942Fix docker image entrypoint for platform syncs
0.0.92025-08-1464170adds cursor pagination, incremental sync and rate limiting
0.0.82025-08-1064845Update dependencies
0.0.72025-08-0264403Update dependencies
0.0.62025-07-2664055Update dependencies
0.0.52025-07-2063685Update dependencies
0.0.42025-07-1263165Update dependencies
0.0.32025-07-0562739Update dependencies
0.0.22025-06-2862220Update dependencies
0.0.12025-06-10Initial release by @sajarin via Connector Builder