Configuring Sine as a Source
In the Sources tab, click on the “Add source” button located on the top right of your screen. Then, select the Sine option from the list of connectors. Click Next and you’ll be prompted to add your access.1. Add account access
Sine authenticates with an OAuth 2.0 client credential: a Client ID and a Client Secret generated for your Sine team. The connector exchanges them for a short-lived access token on every sync, so there is nothing to renew on your side.1
Enable the Public API
Contact Sine Support and ask them to enable the Public API feature for your Sine account.
2
Generate the credential
In the Sine Dashboard, open the Admin app, click Settings in the side menu and open the API keys tab. In the Public API credentials section, generate a new set of client credentials.
3
Find your Team ID
In the same Admin app, go to Settings > Team Details and copy your Team ID.
- Client ID: the identifier of the Public API credential generated in Sine. Required.
- Client Secret: the secret generated together with the Client ID. Required.
- Team ID: your Sine Team ID, found under Sine Admin > Settings > Team Details. Required.
- Start Date: the earliest date from which records will be synced: companies and workflow responses updated from this date on, and passes created from this date on. Leave it empty to extract the full history. Sine only returns the passes of the last 12 months, so older visits cannot be extracted.
- Lookback Days: how many days are re-read before the last sync point on every run. Sine only lists a pass once the visitor checks out or the pass expires, so recent days are read again to pick up visits that were still open during the previous sync. The default is 7.
- Requests Per Minute: how fast the connector may call Sine. The default is 60 requests per minute.
2. Select streams
Choose which data streams you want to sync. For faster extractions, select only the streams that are relevant to your analysis. You can select entire groups of streams or pick specific ones.Tip: The stream can be found more easily by typing its name.
The Visitor Types and Hosts streams are read site by site, so they cost one request per site on every sync. The Passes stream is listed as a preview feature in Sine’s API documentation: if it is not available for your account yet, it is skipped with a warning on the run log and the rest of the sync proceeds normally.
3. Configure data streams
Customize how you want your data to appear in your catalog. Select the desired layer where the data will be placed, a folder to organize it inside the layer, a name for each table (which will effectively contain the fetched data) and the type of sync.- Layer: choose between the existing layers on your catalog. This is where you will find your new extracted tables as the extraction runs successfully.
- Folder: a folder can be created inside the selected layer to group all tables being created from this new data source.
- Table name: we suggest a name, but feel free to customize it. You have the option to add a prefix to all tables at once and make this process faster!
- Sync Type: Companies, Workflow Responses and Passes support INCREMENTAL. Sites, Visitor Types, Hosts and Host Groups are small reference tables and are always read in full (FULL_TABLE). Read more about Sync Types here.
4. Configure data source
Describe your data source for easy identification within your organization, not exceeding 140 characters. To define your Trigger, consider how often you want data to be extracted from this source. This decision usually depends on how frequently you need the new table data updated (every day, once a week, or only at specific times). Optionally, you can define some additional settings:- Configure Delta Log Retention and determine for how long we should store old states of this table as it gets updated. Read more about this resource here.
- Determine when to execute an Additional Full Sync. This will complement the incremental data extractions, ensuring that your data is completely synchronized with your source every once in a while.
Sine returns the date and time of each pass without a time zone (usually the local time of the site). The connector keeps them exactly as Sine sends them (
issued_date, issued_time, checkout_date, checkout_time) and also combines them into issued_at and checked_out_at, which carry no time zone either. A pass that stays open for longer than the Lookback Days is only picked up by a full sync, so scheduling an occasional additional full sync is recommended if you issue long-lived passes.5. Check your new source
You can view your new source on the Sources page. If needed, manually trigger the source extraction by clicking on the arrow button. Once executed, your data will appear in your Catalog.Streams and Fields
Below you’ll find all available data streams from Sine and their corresponding fields. API reference: Sine API.Sites
Sites
Every site (physical location) of your team (
GET /sites).Primary key: idVisitor Types
Visitor Types
The visitor types configured on each site, such as Visitor or Delivery (
GET /sites/{siteId}). One row per site and visitor type.Primary key: site_id, idHosts
Hosts
The hosts (staff members visitors come to see) registered on each site (
GET /sites/{siteId}/hosts). A host registered on several sites appears once per site.Primary key: site_id, idHost Groups
Host Groups
Team-wide and site-specific host groups (
GET /hosts/groups).Primary key: idCompanies
Companies
Companies registered in Sine, such as contractors and suppliers (
GET /companies/team/{teamId}). Synced by their last update.Primary key: id · Replication key: updated_atWorkflow Responses
Workflow Responses
Applications submitted to your Sine workflows, such as contractor pre-approvals and inductions, with their approval state (
GET /workflows/response/team/{teamId}). Synced by their last update.Primary key: response_id · Replication key: updated_atPasses (visit history)
Passes (visit history)
Every finished visit: passes that were checked out or expired, with visitor, host, site, check-in and check-out times and the answers to the check-in and sign-out forms (
POST /passes/). Sine only returns passes created in the last 12 months, and only once they are no longer active.Primary key: pass_key · Replication key: issued_at