> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nekt.com/llms.txt
> Use this file to discover all available pages before exploring further.

# CRM Educacional as a data source

> Bring data from CRM Educacional to your Lakehouse.

CRM Educacional is the admissions CRM used by Brazilian educational institutions to run their selection processes end to end: capturing leads, taking applications, charging the registration fee, scheduling and grading exams, ranking candidates and calling them for enrolment. The connector extracts that whole funnel — leads, registrations, selection processes, offers, payments, evaluations, classifications and exam schedules — so you can measure capture and conversion in your Lakehouse.

Every institution runs on its own address, so the connector asks for the URL of your CRM in addition to the credentials of an integration user.

<Note>CRM Educacional sells its software under the **Wakeme** name. This connector reads the integration API of **Wakeme PRO** and **Wakeme Essencial**. **Wakeme One** is a different system, with its own application and API, and is not covered by this connector.</Note>

## Configuring CRM Educacional as a Source

In the [Sources](https://app.nekt.ai/sources) tab, click on the "Add source" button located on the top right of your screen. Then, select the CRM Educacional option from the list of connectors.

Click **Next** and you'll be prompted to add your access.

### 1. Add account access

CRM Educacional authenticates with the **user name and password of an integration user** (*Usuário de Integração*), which the institution creates inside its own CRM. The connector exchanges them for a temporary token on every run, so nothing has to be copied or renewed by hand.

<Note>Create the integration user in the CRM before setting the source up — the vendor documents the steps under **Usuário de Integração** in its API documentation. A regular Dynamics CRM user also works, but it has to be declared as such in the **Authentication type** setting below.</Note>

<Warning>The integration user's permissions decide what the extraction can read. Give it access to the entities you want to sync — a user without access to an entity makes that stream fail rather than come back empty.</Warning>

The following configurations are available:

* **API URL**: the address of your institution's CRM Educacional API, for example `https://yourschoolapi.crmeducacional.com`. You can find it in the CRM under **Configurações > CRM Educacional > aba Captação > "Endereço da Api Ficha de Inscrição"**. Required.

* **Username**: the user name of the integration user. Required.

* **Password**: the password of that user. Required.

* **Authentication type**: which kind of user is signing in — `APICRMEducacional` for an integration user (recommended) or `CRM` for a Dynamics CRM user. Defaults to `APICRMEducacional`.

* **Initial sync date**: the earliest record change to sync. Records modified before this date are not read. Defaults to 2020-01-01.

* **Page size**: how many records are requested per page. The CRM caps a page at 5000; the default is 1000.

* **Requests per minute**: how fast the connector may call the API. CRM Educacional documents 50 requests per minute per user, which is the default. Lower it if the same integration user is shared with another integration.

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.

<Note>Candidate Registrations and Leads are the largest streams on an institution's account. The first extraction reads the whole history from the initial sync date; the runs after it only read what changed.</Note>

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**: every stream supports INCREMENTAL, replicated on the timestamp of the last change to the record. Read more about Sync Types [here](https://docs.nekt.com/get-started/core-concepts/types-of-sync).

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](https://docs.nekt.com/get-started/core-concepts/triggers), 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](https://docs.nekt.com/get-started/core-concepts/resource-control).
* Determine when to execute an **Additional [Full Sync](https://docs.nekt.com/get-started/core-concepts/types-of-sync#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.

Once you are ready, click **Next** to finalize the setup.

### 5. Check your new source

You can view your new source on the [Sources](https://app.nekt.ai/sources) page. If needed, manually trigger the source extraction by clicking on the arrow button. Once executed, your data will appear in your Catalog.

<Warning>For you to be able to see it on your [Catalog](https://app.nekt.ai/catalog), you need at least one successful source run.</Warning>

# Streams and Fields

## Available streams

| Stream                  | Slug                      | Sync        | Description                                                                  |
| ----------------------- | ------------------------- | ----------- | ---------------------------------------------------------------------------- |
| Leads                   | `leads`                   | Incremental | Prospective students captured by the institution                             |
| Candidate Registrations | `candidate_registrations` | Incremental | Applications to a selection process, with their status and payment situation |
| Selection Processes     | `selection_processes`     | Incremental | The intakes candidates apply to                                              |
| Offers                  | `offers`                  | Incremental | Course/campus/shift offers inside a selection process, with seats and price  |
| Payments                | `payments`                | Incremental | Registration-fee charges raised against an application                       |
| Evaluations             | `evaluations`             | Incremental | Scores per evaluation factor of a registration                               |
| Classifications         | `classifications`         | Incremental | Ranking of a candidate in a call for a given offer                           |
| Exam Schedules          | `exam_schedules`          | Incremental | Slots a scheduled exam is booked into                                        |
| Accounts                | `accounts`                | Incremental | Institutional accounts and campuses                                          |

The identifiers that join these tables are the CRM's own GUIDs: `cad_clientepotencialid` on a registration points at `leadid`, `cad_concursoid` at a selection process, `cad_ofertaid` at an offer, and `cad_inscricaocandidatoid` on payments, evaluations and classifications points back at the registration.

## Fields by stream

Below you'll find all available data streams from CRM Educacional and their corresponding fields:

<AccordionGroup>
  <Accordion title="Leads">
    Every prospective student registered in the CRM, whether or not they went on to apply. This is the top of the admissions funnel: where the person came from, how to reach them, and which selection process and offer they are currently engaged with.

    | Field                             | Type      | Description                                                                                                     |
    | :-------------------------------- | :-------- | :-------------------------------------------------------------------------------------------------------------- |
    | `leadid`                          | String    | Unique identifier (GUID) of the lead in the CRM                                                                 |
    | `fullname`                        | String    | Full name of the lead, as displayed in the CRM                                                                  |
    | `firstname`                       | String    | First name of the lead                                                                                          |
    | `lastname`                        | String    | Last name of the lead                                                                                           |
    | `emailaddress1`                   | String    | Primary email address of the lead                                                                               |
    | `mobilephone`                     | String    | Mobile phone number of the lead, in the format the CRM stored it                                                |
    | `cad_cpf`                         | String    | CPF (Brazilian individual taxpayer number) of the lead                                                          |
    | `cad_rg`                          | String    | RG (Brazilian identity card number) of the lead                                                                 |
    | `new_sexo`                        | String    | Gender recorded for the lead                                                                                    |
    | `cad_datanascimento`              | Timestamp | Date of birth of the lead                                                                                       |
    | `cad_necessidadesespeciais`       | String    | Special needs declared by the lead, when any were declared                                                      |
    | `cad_concursoatual`               | String    | Identifier of the selection process the lead is currently engaged with                                          |
    | `cad_concursodeorigem`            | String    | Identifier of the selection process the lead originally came from                                               |
    | `cad_ofertaatual`                 | String    | Identifier of the offer (course/intake) the lead is currently interested in                                     |
    | `cad_dataalteracaocadastrooferta` | Timestamp | Timestamp of the last change to the lead's registration data or chosen offer                                    |
    | `createdon`                       | Timestamp | Timestamp the lead was created in the CRM                                                                       |
    | `modifiedon`                      | Timestamp | Timestamp of the last change to the lead, used as the incremental replication key (incremental replication key) |
  </Accordion>

  <Accordion title="Candidate Registrations">
    The heart of the funnel: one row per application. It carries the lead who applied, the selection process and the offers chosen, and where the application stands — its status in the process, whether the fee was paid and whether the candidate has been evaluated.

    | Field                            | Type      | Description                                                                                                             |
    | :------------------------------- | :-------- | :---------------------------------------------------------------------------------------------------------------------- |
    | `cad_inscricaocandidatoid`       | String    | Unique identifier (GUID) of the registration                                                                            |
    | `cad_numeroinscricao`            | String    | Registration number shown to the candidate and used by the academic system                                              |
    | `cad_clientepotencialid`         | String    | Identifier of the lead who applied                                                                                      |
    | `cad_situacao`                   | String    | Status of the candidate within the selection process (e.g. registered, called, withdrawn)                               |
    | `cad_concursoid`                 | String    | Identifier of the selection process the candidate applied to                                                            |
    | `cad_ofertaid`                   | String    | Identifier of the offer chosen as first option                                                                          |
    | `cad_2opcaooferta`               | String    | Identifier of the offer chosen as second option, when the process allows one                                            |
    | `cad_3opcaooferta`               | String    | Identifier of the offer chosen as third option, when the process allows one                                             |
    | `coc_situacaopagamento`          | String    | Payment status of the registration fee (e.g. paid, approved, exempt)                                                    |
    | `cad_situacaoavaliacao`          | String    | Status of the candidate's evaluation                                                                                    |
    | `cad_salaid`                     | String    | Identifier of the room assigned to the candidate for the exam                                                           |
    | `cad_conta`                      | String    | Identifier of the account (institution or campus) the registration belongs to                                           |
    | `cad_inscriesid`                 | String    | Identifier of the exam schedule ('exam booked on') linked to the registration                                           |
    | `cad_dadosobrigatorioscoletados` | String    | Whether all mandatory data has been collected from the candidate                                                        |
    | `cad_trainee`                    | String    | Whether the registration is flagged as trainee                                                                          |
    | `cad_linguaestrangeira`          | String    | Foreign language chosen by the candidate                                                                                |
    | `createdon`                      | Timestamp | Timestamp the registration was created in the CRM                                                                       |
    | `modifiedon`                     | Timestamp | Timestamp of the last change to the registration, used as the incremental replication key (incremental replication key) |
  </Accordion>

  <Accordion title="Selection Processes">
    The intakes candidates apply to — a traditional entrance exam, an ENEM-based intake, a scheduled exam, graduate admissions, and so on — with the academic term they admit into and the date of the exam.

    | Field                | Type      | Description                                                                                                                                |
    | :------------------- | :-------- | :----------------------------------------------------------------------------------------------------------------------------------------- |
    | `cad_concursoid`     | String    | Unique identifier (GUID) of the selection process                                                                                          |
    | `cad_codigo`         | String    | Code of the selection process, the identifier used when integrating with the academic system                                               |
    | `cad_nome`           | String    | Name of the selection process                                                                                                              |
    | `cad_periodoletivo`  | String    | Academic term the selection process admits into (e.g. 2026/1)                                                                              |
    | `cad_tipodeconcurso` | String    | Type of selection process (traditional, ENEM, scheduled, PROUNI, graduate, free courses, interest form, transfer, second degree, medicine) |
    | `cad_dataprova`      | Timestamp | Date of the entrance exam                                                                                                                  |
    | `cad_horaprova`      | String    | Time of day the entrance exam starts                                                                                                       |
    | `cad_minutosdaprova` | Integer   | Duration of the entrance exam in minutes                                                                                                   |
    | `cad_tamanhoanexo`   | String    | Maximum size allowed for files attached to a registration in this process                                                                  |
    | `createdon`          | Timestamp | Timestamp the selection process was created in the CRM                                                                                     |
    | `modifiedon`         | Timestamp | Timestamp of the last change to the selection process, used as the incremental replication key (incremental replication key)               |
  </Accordion>

  <Accordion title="Offers">
    One course/campus/shift combination offered inside a selection process, with its seat counts, its price in instalments and the codes that tie it to the institution's academic system.

    | Field                        | Type      | Description                                                                                                      |
    | :--------------------------- | :-------- | :--------------------------------------------------------------------------------------------------------------- |
    | `cad_ofertaid`               | String    | Unique identifier (GUID) of the offer                                                                            |
    | `cad_nome`                   | String    | Name of the offer, usually the course name                                                                       |
    | `cad_identificadoroferta`    | String    | Identifier of the offer used when integrating with the academic system                                           |
    | `cad_concursoid`             | String    | Identifier of the selection process this offer belongs to                                                        |
    | `cad_categoriaid`            | String    | Identifier of the category the offer is classified under                                                         |
    | `cad_categoria`              | String    | Category code of the offer                                                                                       |
    | `cad_ano`                    | Integer   | Year the offer admits into                                                                                       |
    | `cad_periodo`                | Integer   | Academic period (term) the offer admits into                                                                     |
    | `cad_modalidade`             | String    | Delivery mode of the course (e.g. on-campus, distance learning)                                                  |
    | `cad_regime`                 | String    | Academic regime of the course (e.g. semester, yearly)                                                            |
    | `cad_semestreofertado`       | String    | Semester being offered                                                                                           |
    | `cad_turnoofertado`          | String    | Shift being offered (morning, afternoon, evening)                                                                |
    | `cad_turnoequivalente`       | String    | Equivalent shift in the academic system                                                                          |
    | `cad_codturno`               | String    | Shift code in the academic system                                                                                |
    | `cad_codcampus`              | String    | Campus code in the academic system                                                                               |
    | `cad_codcurriculo`           | String    | Curriculum code in the academic system                                                                           |
    | `cad_codcurso`               | String    | Course code in the academic system                                                                               |
    | `cad_codescola`              | String    | School code in the academic system                                                                               |
    | `cad_currequiv`              | String    | Equivalent curriculum code in the academic system                                                                |
    | `cad_formaingr`              | String    | Admission type code (how the candidate enters the course)                                                        |
    | `cad_subformaingr`           | String    | Admission subtype code                                                                                           |
    | `cad_codigoocde`             | String    | OCDE classification code of the course                                                                           |
    | `cad_codigodomec`            | String    | MEC (Brazilian Ministry of Education) code of the course                                                         |
    | `cad_datainicial`            | Timestamp | Date the offer becomes available                                                                                 |
    | `cad_datafinal`              | Timestamp | Date the offer stops being available                                                                             |
    | `cad_quantidadevagas`        | Integer   | Total number of seats in the offer                                                                               |
    | `cad_vagasdisponiveis`       | Integer   | Seats still available in the CRM                                                                                 |
    | `cad_vagasdisponveissga`     | Integer   | Seats still available according to the academic system (SGA)                                                     |
    | `cad_minimovagaspreenchidas` | Integer   | Minimum number of filled seats required for the offer to run                                                     |
    | `cad_quantidadeparcelas`     | Integer   | Number of instalments the offer's price can be split into                                                        |
    | `cad_valorparcela`           | Float     | Value of each instalment                                                                                         |
    | `cad_formulanotafinal`       | String    | Formula used to calculate the candidate's final score in this offer                                              |
    | `cad_idareainteresse`        | String    | Identifier of the area of interest the offer belongs to                                                          |
    | `cad_servicoeducacionalid`   | String    | Identifier of the educational service linked to the offer                                                        |
    | `cad_usuariointegracao`      | String    | Integration user that last wrote the offer from an external system                                               |
    | `createdon`                  | Timestamp | Timestamp the offer was created in the CRM                                                                       |
    | `modifiedon`                 | Timestamp | Timestamp of the last change to the offer, used as the incremental replication key (incremental replication key) |
  </Accordion>

  <Accordion title="Payments">
    The registration-fee charges raised against an application: the boleto or card transaction, when it was due, when it was processed and when it was paid.

    | Field                            | Type      | Description                                                                                                        |
    | :------------------------------- | :-------- | :----------------------------------------------------------------------------------------------------------------- |
    | `cad_pagamentoid`                | String    | Unique identifier (GUID) of the payment                                                                            |
    | `cad_name`                       | String    | Name of the payment record in the CRM                                                                              |
    | `cad_valor`                      | Float     | Amount charged                                                                                                     |
    | `cad_datavencimento`             | Timestamp | Due date of the charge                                                                                             |
    | `cad_datapagamento`              | Timestamp | Date the charge was paid                                                                                           |
    | `cad_boletodatacredito`          | Timestamp | Date the boleto was credited to the institution                                                                    |
    | `cad_datadeprocessamento`        | Timestamp | Date the payment was processed by the CRM                                                                          |
    | `statuscode`                     | String    | Status of the payment record (e.g. active, inactive)                                                               |
    | `cad_isento`                     | String    | Whether the candidate was exempted from paying this charge                                                         |
    | `cad_formapagamento`             | String    | Payment method used (e.g. boleto, credit card)                                                                     |
    | `cad_urlboleto`                  | String    | URL where the boleto can be downloaded                                                                             |
    | `cad_numeroboleto`               | String    | Number of the boleto issued for the charge                                                                         |
    | `cad_numerolotearquivoretorno`   | String    | Number of the bank return file batch the payment was reconciled in                                                 |
    | `cad_nomeoperadoracartao`        | String    | Name of the card operator that processed the payment                                                               |
    | `cad_idtransacao`                | String    | Identifier of the transaction in the CRM                                                                           |
    | `cad_idtransacaooperadoracartao` | String    | Identifier of the transaction at the card operator                                                                 |
    | `cad_contacorrente`              | String    | Bank account the payment was credited to                                                                           |
    | `cad_agencia`                    | String    | Bank branch the payment was credited to                                                                            |
    | `cad_numeroparcelasselecionado`  | Integer   | Number of instalments the candidate chose                                                                          |
    | `cad_inscricaocandidatoid`       | String    | Identifier of the registration the charge belongs to                                                               |
    | `cad_precoid`                    | String    | Identifier of the price record the charge was raised from                                                          |
    | `createdon`                      | Timestamp | Timestamp the payment was created in the CRM                                                                       |
    | `modifiedon`                     | Timestamp | Timestamp of the last change to the payment, used as the incremental replication key (incremental replication key) |
  </Accordion>

  <Accordion title="Evaluations">
    One score per evaluation factor of a registration — the essay, the objective test, and any other factor the process is composed of.

    | Field                      | Type      | Description                                                                                                           |
    | :------------------------- | :-------- | :-------------------------------------------------------------------------------------------------------------------- |
    | `cad_avaliacaoid`          | String    | Unique identifier (GUID) of the evaluation                                                                            |
    | `cad_valor`                | Float     | Score the candidate obtained in this evaluation                                                                       |
    | `cad_inscricaocandidatoid` | String    | Identifier of the registration the score belongs to                                                                   |
    | `cad_fatoravaliacaoid`     | String    | Identifier of the evaluation factor the score was given for (e.g. essay, objective test)                              |
    | `createdon`                | Timestamp | Timestamp the evaluation was created in the CRM                                                                       |
    | `modifiedon`               | Timestamp | Timestamp of the last change to the evaluation, used as the incremental replication key (incremental replication key) |
  </Accordion>

  <Accordion title="Classifications">
    Where a candidate ranked in a call (admission round) for a given offer, with the final score used to rank them.

    | Field                      | Type      | Description                                                                                                               |
    | :------------------------- | :-------- | :------------------------------------------------------------------------------------------------------------------------ |
    | `cad_classificacaoid`      | String    | Unique identifier (GUID) of the classification                                                                            |
    | `cad_inscricaocandidatoid` | String    | Identifier of the registration that was ranked                                                                            |
    | `cad_ofertaid`             | String    | Identifier of the offer the candidate was ranked for                                                                      |
    | `cad_chamadaid`            | String    | Identifier of the call (admission round) this classification belongs to                                                   |
    | `cad_posicao`              | Integer   | Position the candidate reached in the ranking                                                                             |
    | `cad_situacao`             | String    | Status of the candidate in the call (e.g. called, waiting list)                                                           |
    | `cad_pontuacaofinal`       | Float     | Final score used to rank the candidate                                                                                    |
    | `createdon`                | Timestamp | Timestamp the classification was created in the CRM                                                                       |
    | `modifiedon`               | Timestamp | Timestamp of the last change to the classification, used as the incremental replication key (incremental replication key) |
  </Accordion>

  <Accordion title="Exam Schedules">
    The slots a scheduled exam is booked into, with the date, time, room and unit of the exam.

    | Field                   | Type      | Description                                                                                                              |
    | :---------------------- | :-------- | :----------------------------------------------------------------------------------------------------------------------- |
    | `cad_calendarioprovaid` | String    | Unique identifier (GUID) of the exam schedule                                                                            |
    | `cad_data`              | Timestamp | Date of the scheduled exam                                                                                               |
    | `cad_hora`              | String    | Hour of the scheduled exam                                                                                               |
    | `cad_minutos`           | Integer   | Minutes past the hour the scheduled exam starts                                                                          |
    | `cad_sala`              | String    | Room the exam takes place in                                                                                             |
    | `cad_categoria`         | String    | Unit or category the exam belongs to                                                                                     |
    | `createdon`             | Timestamp | Timestamp the exam schedule was created in the CRM                                                                       |
    | `modifiedon`            | Timestamp | Timestamp of the last change to the exam schedule, used as the incremental replication key (incremental replication key) |
  </Accordion>

  <Accordion title="Accounts">
    The institutional accounts (institution or campus) registrations belong to, with the permissions configured for each.

    | Field                        | Type      | Description                                                                                                        |
    | :--------------------------- | :-------- | :----------------------------------------------------------------------------------------------------------------- |
    | `accountid`                  | String    | Unique identifier (GUID) of the account in the CRM                                                                 |
    | `name`                       | String    | Name of the account, usually the institution or campus                                                             |
    | `accountcategorycode`        | String    | Category the account is classified under                                                                           |
    | `cad_permitiruploadprova`    | String    | Whether the account allows exam files to be uploaded                                                               |
    | `cad_permitirrelatorios`     | String    | Whether the account allows reports to be generated                                                                 |
    | `cad_permitirarquivoretorno` | String    | Whether the account allows bank return files to be processed                                                       |
    | `createdon`                  | Timestamp | Timestamp the account was created in the CRM                                                                       |
    | `modifiedon`                 | Timestamp | Timestamp of the last change to the account, used as the incremental replication key (incremental replication key) |
  </Accordion>
</AccordionGroup>
