Configuring Flash as a Source
In the Sources tab, click on the “Add source” button located on the top right of your screen. Then, select the Flash option from the list of connectors. Click Next and you’ll be prompted to add your access.1. Add account access
The connector authenticates with a Flash API key. To generate it, an administrator of your company in Flash goes to hros.flashapp.com.br, opens Configurações > Plataforma > Chaves de acesso programático, and generates a key.API access must be enabled by Flash for your company. If the option to generate a key is not available, contact Flash support (empresa@flashapp.com.br) and ask them to enable API access.
- API Key: the API key generated in Flash. Required.
- Start Date: the first day of history extracted. Time punches are read from this day on the first sync and continue from the last synced day afterwards. Budgets, events, and timetable allocations are read in full, month by month, from this date on every sync. Required.
- Company IDs (advanced): the Flash ids of the companies to extract. Leave it empty to extract every company of the economic group the API key belongs to.
- Time Punches Lookback Days (advanced): how many days before today the time punches are read again on every sync, so adjustments and approvals made after the punch are picked up. The default is 35, which covers the whole previous month.
- Requests Per Minute (advanced): how fast the connector may call Flash. The default is 120. When Flash asks the connector to slow down, it waits and continues automatically.
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.
Flash returns time punches one day at a time, for one company at a time. On the first sync, the connector makes one request per day since the start date for each company, so an early start date makes that sync noticeably longer. Later syncs only read the recent days.
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: time punches are INCREMENTAL: each sync brings the recent days again plus any new ones. The other streams are FULL_TABLE: each sync replaces the table with what Flash currently holds. 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.
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 Flash and their corresponding fields. API reference: Flash API.Every table has a
raw_payload column with the whole record exactly as Flash returned it, so information without a column of its own is still available. Lists and objects are stored as JSON text, and timestamps are converted to UTC.Companies
Companies
Companies of the economic group the API key belongs to (or only those set in Company IDs). Every other table is read company by company.Table:
companies · Primary key: id · Sync: Full tableEmployees
Employees
Employees registered in each company. Use it to add names, e-mails and organization data to the time punches, which only carry the employee id, external id, PIS, and CPF.Table:
employees · Primary key: id · Sync: Full tableTime Punches
Time Punches
Time punches (marcações de ponto) of each employee, one row per employee and day; the punches of the day are in the
attendances column. Each sync reads again the last days set in Time Punches Lookback Days (35 by default), so adjustments and approvals made after the punch are picked up.Table: time_punches · Primary key: company_id, employee_id, day · Sync: IncrementalBudgets
Budgets
Payroll budgets (verbas) calculated from the time tracking, per employee and month, such as overtime and absences. Every sync reads every month from the start date to the current month.Table:
budgets · Primary key: company_id, employee_id, year, month, event_code, date · Sync: Full tableEvents
Events
Time and attendance events, such as justified absences, medical certificates, and time off. Every sync reads every month from the start date to the current month; an event that spans several months appears once.Table:
events · Primary key: company_id, id · Sync: Full tableTimetable Allocations
Timetable Allocations
Which timetable (escala) each employee follows, and from when. Every sync reads every month from the start date to the end of the current month; an allocation valid in several months appears once.Table:
timetable_allocations · Primary key: company_id, employee_id, allocation_id · Sync: Full table