Skip to main content
Qulture.Rocks is a people management platform for performance reviews, OKRs, feedbacks and 1:1s. This connector reads your company’s data through the Qulture.Rocks User API and brings your employee contracts (active and inactive employees, with job, area, department, supervisor, dates and custom fields) and the history of user imports, with the errors of each imported user.
The connector only reads data. It never creates, changes or deactivates users in Qulture.Rocks.
Performance reviews, objectives (OKRs), feedbacks and other product data are not available yet. Qulture.Rocks serves them through a separate API (the Platform API, with its own token), which this connector does not read yet.

Configuring Qulture.Rocks as a Source

In the Sources tab, click on the “Add source” button located on the top right of your screen. Then, select the Qulture.Rocks option from the list of connectors. Click Next and you’ll be prompted to add your access.

1. Add account access

The connector uses the User API token of Qulture.Rocks. To get it, log in to Qulture.Rocks as an administrator, open the Organização profile, go to Integrações in the left menu and scroll down to the API section. Next to API de usuários, click Regerar and copy the token.
  • User API Token: the token you copied.
  • Start Date: the earliest date synced for user imports. Imports created before this date are not read. Contracts are always read whole, whatever the date.
Use the API de usuários token. The API da plataforma token does not work with this connector. Regenerating a token invalidates the previous one, so update every integration that used it, including this source.
The token has administrator rights in Qulture.Rocks. Store it only in the source configuration; Nekt keeps it encrypted.
Once you’re done, click Next.

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.
Select the streams and click Next.

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: keep the suggested type. User import items is Incremental: each sync reads only the imports created since the previous one. Contracts and user imports are Full table: the Qulture.Rocks API cannot list what changed since a date, so each sync reads them whole and replaces the table.
Once you are done configuring, click Next.

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). Employee data changes slowly, so a daily sync works well. Optionally, you can 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. Once you are ready, click Next to finalize the setup.

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.
For you to be able to see it on your Catalog, you need at least one successful source run.

Streams and Fields

Available streams

The table below lists every stream, its slug (the exact identifier to pass when creating the source via API) and a short description. To rebuild the hierarchy, join contracts.supervisor_id with contracts.id. To see the import of each item, join user_importer_items.user_importer_id with user_importers.id.

Fields by stream

Fields marked String (JSON) hold a nested object or list as JSON text; use your warehouse’s JSON functions to read them.
The employees of the company: one contract per person and company, active and inactive.Table: contracts · Primary key: id · Sync: Full table
Bulk user imports (creation or update of users through a spreadsheet, the API or Qulture.Rocks’ native user sync) created since the Start Date.Table: user_importers · Primary key: id · Sync: Full table
The users sent in each import, with the data sent and their errors.Table: user_importer_items · Primary key: id · Sync: Incremental (by user_importer_created_at)

Implementation Notes

Data Quality Considerations

  • Active and inactive employees. Each sync reads the active and the inactive contracts and loads both; use active to filter.
  • Custom fields. Custom contract fields (for example “T-shirt size”) come in extra_fields, keyed by the field’s key. Any field Qulture.Rocks adds later also lands there until it gets its own column.
  • Full table tables are never half updated. The connector reads all the contracts and all the user imports before writing any of them. If employees are removed or renamed while the contracts are read and some may have been missed, the list is read again; if it never settles, the table is not updated in that sync and the next sync tries again. Employees created during a sync come with the next one. A contracts table that suddenly comes back empty is not emptied either: the sync fails for that table. If the data really was removed, run a full sync of the source to accept it.
  • User import items are loaded import by import. If a sync fails in the middle, the items already loaded stay and the next sync reads the same imports again; nothing is duplicated, because rows are merged by id.
  • Imports still running. Items of an import that has not ended (for example enqueued) are read again in the next syncs until it ends. An import still not ended seven days after it was created no longer holds the following syncs back. If an import is deleted while a sync runs, its users are not loaded and the sync log says so.
  • Passwords are never loaded. Any password-related value sent in an import (for example a password prefix) is replaced by [redacted] in data.
  • Permissions. If the token may read the contracts but not the user imports (or the other way around), the tables it cannot read are skipped and shown as failed, the sync log names them, and the other tables keep syncing.
  • Performance reviews, OKRs and feedbacks are not available yet. They come from the Qulture.Rocks Platform API, which this connector does not read yet. Only the per-cycle objectives average of each employee (objectives_average_by_cycle) is available today.

API Limits & Performance

  • Qulture.Rocks publishes no rate limit. The connector makes at most 300 requests per minute and, when Qulture.Rocks asks it to slow down, waits and tells you in the sync log.
  • Contracts are read 50 per request. User import items are read one import at a time.
  • Companies that use Qulture.Rocks’ native user sync get two imports a day, each with the whole user base, so user_importer_items can grow quickly. Deselect it if you do not need the import history, or choose a recent Start Date.

Troubleshooting

Skills for agents

Download Qulture.Rocks skills file

Qulture.Rocks connector documentation as plain markdown, for use in AI agent contexts.