Configuring Rubeus as a Source
In the Sources tab, click on the “Add source” button located on the top right of your screen. Then, select the Rubeus option from the list of connectors. Click Next and you’ll be prompted to add your access.1. Add account access
You’ll need to provide your Rubeus API credentials. These can be found in your Rubeus CRM under Settings > Integrations > Channels. The following configurations are available:- API Token: Your unique API token for authentication. Found in the channel settings of your Rubeus CRM instance.
- Channel Code (Origem): The channel identification code associated with your API token. This is a numeric value found alongside your API token in the channel settings.
-
CRM URL: The base URL of your Rubeus CRM instance (e.g.,
https://crm.yourcompany.com.br). - Initial sync date (Advanced): Starting point for data extraction. Only records created or updated after this date will be synced.
- Opportunities: earliest creation date (Advanced): Only sync opportunities created on or after this date. Leave empty to sync the full history. Warning: the opportunities table is a full snapshot of the funnel, so setting this also removes cards created before this date from the table. Use it when a single day of the funnel holds more records than the Rubeus API can return.
-
Opportunities: funnels to sync (Advanced): Optional list of funnel (processo) IDs whose opportunities should be synced. Leave empty to sync every funnel. Useful to leave out test or inactive funnels. The
processestable always lists all funnels; only theopportunitiestable is narrowed. IDs that match no funnel in your account are ignored and reported in the run logs.
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: you can choose between INCREMENTAL and FULL_TABLE.
- Incremental: every time the extraction happens, we’ll get only the new data, which is good if, for example, you want to keep every record ever fetched.
- Full table: every time the extraction happens, we’ll get the current state of the data, which is good if, for example, you don’t want to have deleted data in your catalog.
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.
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.API Limitations
- Opportunities API Cap: The Rubeus opportunities endpoint never returns more than 499 cards per funnel stage in a single response, and it offers no offset or cursor. When a funnel exceeds this cap, the connector crawls it by creation-date windows (60 days, halved down to a single day for the affected stage). A single day that still exceeds the cap is re-requested in ascending order, then split by status (in progress / won / lost), and finally split by
responsavel,curso,processoSeletivo,nivelEnsino,modalidadeandunidade. If the union of all these variants still misses cards, the extraction fails instead of finishing with partial data, so the table is never replaced by an incomplete snapshot. For high-volume accounts, set Opportunities: earliest creation date to limit the crawl to a shorter time frame, or use Opportunities: funnels to sync to leave out funnels you do not need. - Opportunities snapshot: The
opportunitiestable is a full snapshot of the selected funnels on every run (every card is fetched again); it does not use the Initial sync date option.
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.Fields by stream
Below you’ll find all available data streams from Rubeus and their corresponding fields:Processes
Processes
CRM funnels (“processos”). Each process is a recruitment/relationship funnel that contacts move through stage by stage. Parent of the opportunities stream. This table always lists every funnel, even when Opportunities: funnels to sync is set.Fields:
id- Unique identifier of the funnel (processo)nome- Display name of the funnelstatusPositivo- Label used for the funnel’s positive/won terminal status (e.g. “Ganho”)statusNegativo- Label used for the funnel’s negative/lost terminal status (e.g. “Perdido”)arrastarOportunidade- Whether opportunities can be dragged between stages in this funnel (“1”/“0”)voltarEtapa- Whether opportunities are allowed to move back to a previous stage (“1”/“0”)
Opportunities
Opportunities
Opportunity cards (funnel cards / process records) of each funnel, extracted once per funnel and deduplicated by
id. Institution-specific custom fields are serialized as a JSON string in camposPersonalizados.Fields:id- Unique identifier of the opportunity (funnel card)processo- Identifier of the funnel this opportunity belongs tocodigoRegistro- External code of the underlying process record (registro de processo)etapa- Identifier of the funnel stage the opportunity is currently inetapaNome- Name of the current funnel stage (e.g. “Inscrito parcial”)ultimaAlteracaoEtapa- Timestamp of the last stage change for this opportunityminutosEtapa- Minutes the opportunity has spent in the current stagedias- Days the opportunity has spent in the current stagemomento- Timestamp when the opportunity was createdalterarEtapa- Whether the stage may be changed for this opportunity (“1”/“0”)voltarEtapa- Whether the opportunity may move back a stage (“1”/“0”)status- Status code of the opportunity (in progress / won / lost)statusNome- Status name (“Em andamento”, “Ganho” or “Perdido”)observacaoPerda- Free-text note describing why the opportunity was lostobjecao- Identifier of the objection/loss reason associated with the opportunityobjecaoNome- Name of the objection/loss reasonrazaoOportunidade- Identifier of the opportunity reason/situation (e.g. not contacted)razaoOportunidadeNome- Name of the opportunity reason/situationconcorrente- Identifier of the competitor associated with a lost opportunityconcorrenteNome- Name of the competitor associated with a lost opportunityprobabilidade- Win probability assigned to the opportunitypessoa- Identifier of the contact (pessoa) the opportunity belongs topessoaNome- Name of the contactpessoaCodigo- External code of the contact (e.g. “P-91922470”)pessoaCpf- CPF document number of the contactpessoaTelefone- Primary phone number of the contactpessoaVinculada- Identifier of a linked/related contact, when the opportunity was sharedcontatoVinculado- Identifier of a linked contact record, when applicablecodCurso- Course code associated with the opportunitycursoNome- Course name associated with the opportunityidCursoPadrao- Identifier of the standard courseofertaCurso- Identifier of the course offeringofertaCursoCodigo- Code of the course offeringofertaCursoNome- Name of the course offeringmodalidade- Identifier of the course modalitymodalidadeNome- Name of the course modality (e.g. “Presencial”)codModalidade- Code of the course modalitynivelEnsino- Identifier of the education levelnivelEnsinoNome- Name of the education levelunidade- Identifier of the unit (campus) tied to the opportunityunidadeNome- Name of the unit (campus)localOferta- Identifier of the offering locationlocalOfertaNome- Name of the offering locationprocessoSeletivo- Identifier of the linked selection process (processo seletivo)processoSeletivoNome- Name of the linked selection processformaIngresso- Identifier of the admission form/entry methodvagasMinimas- Minimum number of seats configured for the offeringvagasMaximas- Maximum number of seats configured for the offeringvalorCurso- Course price associated with the opportunitynotaEnem- ENEM exam score recorded for the opportunitydataProva- Exam date associated with the selection processcompareceuAtividade- Whether the contact attended the related activity/eventresponsavel- Identifier of the user responsible for the opportunityresponsavelNome- Name of the user responsible for the opportunitycriadoPor- Identifier of the user who created the opportunityorigem- Identifier of the acquisition channel (origem) of the opportunityorigemNome- Name of the acquisition channel (e.g. “Ficha de Inscrição”)agendamento- Scheduling status code of the opportunityagendamentoNome- Scheduling status name (e.g. “Sem agendar”)contextoProcesso- Context reference: process levelcontextoNivel- Context reference: education levelcontextoCategoria- Context reference: categorycontextoItem- Context reference: itemcontextoSubItem- Context reference: sub-itemcontextoLocal- Context reference: locationinteresses- Interests (context sub-items) associated with the opportunity (array of objects withsubitem,subitemNome,contexto,oportunidade_id,principal)camposPersonalizados- Institution-specific custom fields of the opportunity, serialized as a JSON object string
Courses
Courses
List of courses offered by the institution.Fields:
id- Unique identifier for the coursenome- Course namedescricao- Course descriptioncodigo- Course codeorigem- Origin channel IDorigemNome- Origin channel name
Course Offerings
Course Offerings
List of course offerings with enrollment periods and associated metadata.Fields:
id- Unique identifier for the offeringnome- Offering namecomplemento- Additional informationcodigo- Offering codecodCurso- Associated course codeinicioInscricao- Enrollment start dateterminoInscricao- Enrollment end dateinicioMatricula- Registration start dateterminoMatricula- Registration end dateunidade- Unit IDunidadeNome- Unit namenivelEnsino- Education level IDnivelEnsinoNome- Education level namemodalidade- Modality IDmodalidadeNome- Modality nameorigem- Origin channel IDorigemNome- Origin channel nameprocessoSeletivo- Selective process IDcodProcessoSeletivo- Selective process codeprocessoSeletivoNome- Selective process name
Modalities
Modalities
List of teaching modalities (e.g., in-person, online, hybrid).Fields:
id- Unique identifiercodigo- Modality codetitulo- Modality title
Units
Units
List of institutional units/campuses.Fields:
id- Unique identifiernome- Unit namedescricao- Unit descriptioncodigo- Unit code
Offering Locations
Offering Locations
Physical locations where courses are offered.Fields:
id- Unique identifiercodigo- Location codetitulo- Location titledescricao- Location descriptiontelefone- Phone numberemail- Email addressendereco- Street addressnumero- Address numberbairro- Neighborhoodcep- Postal code (CEP)cidade- City
Contacts
Contacts
Contact records from the CRM, including students, leads, and related persons.Fields:
id- Unique identifiernome- Full namenomeSocial- Social/preferred namecodigo- Contact codecpf- CPF document numberdatanascimento- Date of birthendereco- Street addresscep- Postal codenumero- Address numberbairro- Neighborhoodcidade- City IDcidadeNome- City namesexo- Gender IDsexoNome- Gender nameorigemId- Origin channel IDorigemNome- Origin channel nameprofissao- Professionaluno- Whether the contact is a studentexaluno- Whether the contact is a former studentanoFormacao- Graduation yearestadoCivil- Marital status IDestadoCivilNome- Marital status namecor- Race/ethnicity IDcorNome- Race/ethnicity namegrauInstrucao- Education level IDgrauInstrucaoNome- Education level nameverificada- Whether the contact has been verifieddesinscreveu- Whether the contact unsubscribedtelefone_principal- Primary phone numberemail_principal- Primary email addresstags- Contact tags (JSON)camposPersonalizados- Custom fields (JSON)
Contact Types
Contact Types
List of available contact type categories.Fields:
id- Unique identifiertitulo- Type title
Custom Fields
Custom Fields
Custom fields configured in the institution’s Rubeus instance.Fields:
id- Unique identifiernome- Field namecoluna- Column identifiertipo- Field type ID (1=string, 2=longtext, 3=integer, 4=date, 5=boolean)tipoNome- Field type nametipoLocal- Location type ID (1=contact, 2=process record, 3=course)tipoLocalNome- Location type name
Event Types
Event Types
Types of events that can be tracked in the CRM.Fields:
id- Unique identifiercodigo- Event type codetitulo- Event type titleformaCriacaoOportunidade- Opportunity creation method
Education Levels
Education Levels
List of education/teaching levels.Fields:
id- Unique identifiercodigo- Level codetitulo- Level titlepadrao- Whether this is a default level
User Profiles
User Profiles
User profiles and their permissions within the CRM.Fields:
id- Unique identifiernome- Profile namecor- Profile colorpermissoes- Permissions (JSON)ultimaAlteracao- Last modification date
Countries
Countries
Reference list of countries.Fields:
id- Unique identifiersigla- Country code (ISO)nome- Country name
Cities
Cities
Reference list of cities available in the CRM.Fields:
id- Unique identifiertitulo- City name
Legal Bases
Legal Bases
LGPD (Brazilian data protection law) legal bases for data processing.Fields:
id- Unique identifierbase- Legal base description
Skills for agents
Download Rubeus skills file
Rubeus connector documentation as plain markdown, for use in AI agent contexts.