> ## 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.

# Imobzi as a data source

> Bring data from Imobzi to Nekt.

Imobzi is a real estate management platform designed for property professionals. It provides tools for managing properties, clients, sales processes, and marketing campaigns to help real estate agents and agencies streamline their operations and grow their business.

## Configuring Imobzi 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 Imobzi 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 API credentials to connect to Imobzi. Check [Imobzi documentation](https://developer.imobzi.com/#section/Authentication/Creating-your-Secret-Key) to discover where you can find the API Key for the connection.

The following configuration is available:

* **API Key**: Your Imobzi API key for authentication and access to the platform's data.

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**: 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.

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/runs/scheduling-and-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

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

<AccordionGroup>
  <Accordion title="Banks">
    Stream for managing bank information and configurations.

    | Field      | Type    | Description                                                |
    | :--------- | :------ | :--------------------------------------------------------- |
    | `db_id`    | Integer | ID intern of the bank in the database. Required for create |
    | `code`     | String  | Code of the bank. Required for create                      |
    | `name`     | String  | Bank name. Required for create                             |
    | `logo_url` | String  | URL of the bank logo                                       |
    | `id`       | Integer | ID intern or alternative ID of the bank in the database    |
  </Accordion>

  <Accordion title="Contact Bank">
    Stream for managing contact bank account information.

    | Field             | Type   | Description                                                                |
    | :---------------- | :----- | :------------------------------------------------------------------------- |
    | `contact_id`      | String | Contact ID from parent stream                                              |
    | `bank_id`         | String | Unique identifier of the bank                                              |
    | `action`          | String | Action to be performed, such as create, update, or delete                  |
    | `id`              | String | Unique identifier of the record                                            |
    | `bank_name`       | String | Name of the bank                                                           |
    | `organization_id` | String | Unique identifier of the organization associated with the bank account     |
    | `person_id`       | String | Unique identifier of the person associated with the bank account           |
    | `account`         | String | Bank account number                                                        |
    | `agency`          | String | Bank branch (agency) number                                                |
    | `account_type`    | String | Type of the bank account. Can be 'checking\_account' or 'savings\_account' |
    | `notes`           | String | Additional notes or remarks related to the bank account                    |
  </Accordion>

  <Accordion title="Contracts">
    Stream for managing real estate contracts and their details.

    | Field                 | Type    | Description                                                                          |
    | :-------------------- | :------ | :----------------------------------------------------------------------------------- |
    | `code`                | String  | Contract code                                                                        |
    | `contract_type`       | String  | Contract type                                                                        |
    | `key`                 | String  | Contract key                                                                         |
    | `db_id`               | Integer | ID intern of the contract in database                                                |
    | `value`               | Number  | Contract value                                                                       |
    | `status`              | String  | Contract status. Enum: active, ended, suspended, in\_review, in\_progress, traveling |
    | `start_at`            | String  | Contract start at date, in format ISO                                                |
    | `contacts`            | Array   | Contact list related to the contract                                                 |
    | `source`              | String  | Source of the contract                                                               |
    | `in_progress`         | Boolean | Indicates if the contract is in progress                                             |
    | `insurances`          | Array   | Insurances related to the contract                                                   |
    | `invoice_items_value` | Number  | Value of invoice items related to the contract                                       |
  </Accordion>

  <Accordion title="Credit Financing Analysis">
    Stream for managing credit and financing analysis processes.

    | Field               | Type    | Description                               |
    | :------------------ | :------ | :---------------------------------------- |
    | `db_id`             | Integer | ID intern of the analysis in database     |
    | `status`            | String  | Status of the analysis                    |
    | `type`              | String  | Type of analysis (e.g., 'fc\_analise')    |
    | `lease_value`       | Number  | Lease value                               |
    | `condominium_value` | Number  | Condominium value                         |
    | `iptu_value`        | Number  | IPTU value                                |
    | `total_value`       | Number  | Total value                               |
    | `suitors`           | Array   | List of suitors related to the analysis   |
    | `lease`             | Object  | Lease information related to the analysis |
  </Accordion>

  <Accordion title="Deal Filters">
    Stream for managing deal filtering configurations and criteria.

    | Field         | Type    | Description                           |
    | :------------ | :------ | :------------------------------------ |
    | `id`          | Integer | Unique identifier for the deal filter |
    | `name`        | String  | Name of the deal filter               |
    | `description` | String  | Description of the filter criteria    |
    | `created_at`  | String  | Filter creation date                  |
    | `updated_at`  | String  | Filter last update date               |
    | `active`      | Boolean | Indicates if the filter is active     |
  </Accordion>

  <Accordion title="Deals Rotations">
    Stream for managing deal rotation processes and assignments.

    | Field           | Type    | Description                                 |
    | :-------------- | :------ | :------------------------------------------ |
    | `id`            | Integer | Unique identifier for the deal rotation     |
    | `deal_id`       | Integer | Associated deal identifier                  |
    | `from_user_id`  | Integer | User ID from whom the deal is being rotated |
    | `to_user_id`    | Integer | User ID to whom the deal is being rotated   |
    | `rotation_date` | String  | Date when the rotation occurred             |
    | `reason`        | String  | Reason for the deal rotation                |
    | `status`        | String  | Status of the rotation                      |
  </Accordion>

  <Accordion title="Documents">
    Stream for managing document information and metadata.

    | Field        | Type    | Description                        |
    | :----------- | :------ | :--------------------------------- |
    | `id`         | Integer | Unique identifier for the document |
    | `name`       | String  | Document name                      |
    | `type`       | String  | Document type                      |
    | `url`        | String  | URL to access the document         |
    | `created_at` | String  | Document creation date             |
    | `updated_at` | String  | Document last update date          |
    | `size`       | Integer | Document size in bytes             |
    | `mime_type`  | String  | MIME type of the document          |
  </Accordion>

  <Accordion title="Financial Accounts">
    Stream for managing financial account information and configurations.

    | Field        | Type    | Description                                 |
    | :----------- | :------ | :------------------------------------------ |
    | `id`         | Integer | Unique identifier for the financial account |
    | `name`       | String  | Name of the financial account               |
    | `type`       | String  | Type of financial account                   |
    | `balance`    | Number  | Current account balance                     |
    | `currency`   | String  | Account currency                            |
    | `created_at` | String  | Account creation date                       |
    | `updated_at` | String  | Account last update date                    |
    | `active`     | Boolean | Indicates if the account is active          |
  </Accordion>

  <Accordion title="Contacts Tags">
    Stream for managing contact tags and classifications.

    | Field         | Type    | Description                           |
    | :------------ | :------ | :------------------------------------ |
    | `id`          | Integer | Unique identifier for the contact tag |
    | `name`        | String  | Name of the tag                       |
    | `color`       | String  | Color associated with the tag         |
    | `description` | String  | Description of the tag                |
    | `created_at`  | String  | Tag creation date                     |
  </Accordion>

  <Accordion title="Deals Details">
    Stream containing detailed information about deals.

    | Field                 | Type    | Description                    |
    | :-------------------- | :------ | :----------------------------- |
    | `id`                  | Integer | Unique identifier for the deal |
    | `title`               | String  | Deal title                     |
    | `value`               | Number  | Deal value                     |
    | `status`              | String  | Current deal status            |
    | `created_at`          | String  | Deal creation date             |
    | `updated_at`          | String  | Deal last update date          |
    | `expected_close_date` | String  | Expected closing date          |
  </Accordion>

  <Accordion title="Reports Deals Done">
    Stream for reporting on completed deals.

    | Field             | Type    | Description                              |
    | :---------------- | :------ | :--------------------------------------- |
    | `deal_id`         | Integer | Unique identifier for the completed deal |
    | `deal_title`      | String  | Title of the completed deal              |
    | `completion_date` | String  | Date when the deal was completed         |
    | `final_value`     | Number  | Final value of the completed deal        |
    | `commission`      | Number  | Commission earned from the deal          |
  </Accordion>

  <Accordion title="Deals List">
    Stream containing a list of all deals.

    | Field        | Type    | Description                    |
    | :----------- | :------ | :----------------------------- |
    | `id`         | Integer | Unique identifier for the deal |
    | `title`      | String  | Deal title                     |
    | `status`     | String  | Current deal status            |
    | `value`      | Number  | Deal value                     |
    | `created_at` | String  | Deal creation date             |
  </Accordion>

  <Accordion title="Deals Lost Reasons">
    Stream for managing reasons why deals are lost.

    | Field         | Type    | Description                           |
    | :------------ | :------ | :------------------------------------ |
    | `id`          | Integer | Unique identifier for the lost reason |
    | `name`        | String  | Name of the lost reason               |
    | `description` | String  | Description of the lost reason        |
    | `active`      | Boolean | Indicates if the reason is active     |
  </Accordion>

  <Accordion title="Leases">
    Stream for managing lease agreements and information.

    | Field          | Type    | Description                     |
    | :------------- | :------ | :------------------------------ |
    | `id`           | Integer | Unique identifier for the lease |
    | `property_id`  | Integer | Associated property identifier  |
    | `tenant_id`    | Integer | Associated tenant identifier    |
    | `start_date`   | String  | Lease start date                |
    | `end_date`     | String  | Lease end date                  |
    | `monthly_rent` | Number  | Monthly rent amount             |
  </Accordion>

  <Accordion title="Media Sources">
    Stream for managing media source information.

    | Field    | Type    | Description                             |
    | :------- | :------ | :-------------------------------------- |
    | `id`     | Integer | Unique identifier for the media source  |
    | `name`   | String  | Name of the media source                |
    | `type`   | String  | Type of media source                    |
    | `url`    | String  | URL of the media source                 |
    | `active` | Boolean | Indicates if the media source is active |
  </Accordion>

  <Accordion title="Pipeline Groups">
    Stream for managing pipeline group configurations.

    | Field         | Type    | Description                               |
    | :------------ | :------ | :---------------------------------------- |
    | `id`          | Integer | Unique identifier for the pipeline group  |
    | `name`        | String  | Name of the pipeline group                |
    | `description` | String  | Description of the pipeline group         |
    | `active`      | Boolean | Indicates if the pipeline group is active |
  </Accordion>

  <Accordion title="Pipelines">
    Stream for managing sales pipeline information.

    | Field    | Type    | Description                         |
    | :------- | :------ | :---------------------------------- |
    | `id`     | Integer | Unique identifier for the pipeline  |
    | `name`   | String  | Name of the pipeline                |
    | `stages` | Array   | Pipeline stages configuration       |
    | `active` | Boolean | Indicates if the pipeline is active |
  </Accordion>

  <Accordion title="Contacts List">
    Stream containing contact information and details.

    | Field          | Type   | Description                       |
    | :------------- | :----- | :-------------------------------- |
    | `contact_id`   | String | Unique identifier for the contact |
    | `name`         | String | Contact name                      |
    | `email`        | String | Contact email address             |
    | `phone`        | String | Contact phone number              |
    | `contact_type` | String | Type of contact                   |
    | `created_at`   | String | Contact creation date             |
  </Accordion>

  <Accordion title="Properties List">
    Stream containing property listings and information.

    | Field     | Type    | Description                        |
    | :-------- | :------ | :--------------------------------- |
    | `id`      | Integer | Unique identifier for the property |
    | `title`   | String  | Property title                     |
    | `address` | String  | Property address                   |
    | `price`   | Number  | Property price                     |
    | `type`    | String  | Property type                      |
    | `status`  | String  | Property status                    |
  </Accordion>

  <Accordion title="Financial Transactions">
    Stream for managing financial transaction records.

    | Field         | Type    | Description                           |
    | :------------ | :------ | :------------------------------------ |
    | `id`          | Integer | Unique identifier for the transaction |
    | `amount`      | Number  | Transaction amount                    |
    | `type`        | String  | Transaction type                      |
    | `date`        | String  | Transaction date                      |
    | `description` | String  | Transaction description               |
    | `account_id`  | Integer | Associated account identifier         |
  </Accordion>

  <Accordion title="Property Reserves">
    Stream for managing property reservation information.

    | Field              | Type    | Description                           |
    | :----------------- | :------ | :------------------------------------ |
    | `id`               | Integer | Unique identifier for the reservation |
    | `property_id`      | Integer | Associated property identifier        |
    | `contact_id`       | Integer | Associated contact identifier         |
    | `reservation_date` | String  | Date of reservation                   |
    | `status`           | String  | Reservation status                    |
  </Accordion>

  <Accordion title="Property Details">
    Stream containing detailed property information.

    | Field            | Type    | Description                        |
    | :--------------- | :------ | :--------------------------------- |
    | `id`             | Integer | Unique identifier for the property |
    | `title`          | String  | Property title                     |
    | `description`    | String  | Property description               |
    | `specifications` | Object  | Detailed property specifications   |
    | `amenities`      | Array   | List of property amenities         |
    | `location`       | Object  | Property location details          |
  </Accordion>
</AccordionGroup>

# Data Model

The following diagram illustrates the relationships between the core data streams in Imobzi:

```mermaid theme={null}
graph TD;
    subgraph "Contact Management"
        ContactsList("Contacts List");
        ContactBank("Contact Bank");
        ContactsTags("Contacts Tags");
    end

    subgraph "Property Management"
        PropertiesList("Properties List");
        PropertyDetails("Property Details");
        PropertyReserves("Property Reserves");
        Leases("Leases");
    end

    subgraph "Deal Management"
        DealsList("Deals List");
        DealsDetails("Deals Details");
        DealsRotations("Deals Rotations");
        DealFilters("Deal Filters");
        DealsLostReasons("Deals Lost Reasons");
        ReportsDealsDone("Reports Deals Done");
    end

    subgraph "Financial Management"
        FinancialAccounts("Financial Accounts");
        FinancialTransactions("Financial Transactions");
        Contracts("Contracts");
        CreditFinancingAnalysis("Credit Financing Analysis");
    end

    subgraph "System Configuration"
        Banks("Banks");
        MediaSources("Media Sources");
        PipelineGroups("Pipeline Groups");
        Pipelines("Pipelines");
        Documents("Documents");
    end

    ContactBank -- "contact_id" --> ContactsList;
    PropertyReserves -- "property_id" --> PropertiesList;
    PropertyReserves -- "contact_id" --> ContactsList;
    Leases -- "property_id" --> PropertiesList;
    DealsDetails -- "id" --> DealsList;
    DealsRotations -- "deal_id" --> DealsList;
    FinancialTransactions -- "account_id" --> FinancialAccounts;
    ContactBank -- "bank_id" --> Banks;
```

## Implementation Notes

### Data Synchronization

* Most streams support full table synchronization
* Some streams like financial transactions may benefit from incremental sync to capture new transactions efficiently
* Contact bank data is retrieved as a child stream of contacts, ensuring data consistency

### API Considerations

* The connector handles pagination automatically for large datasets
* Rate limiting is managed internally to ensure stable data extraction
* Parent-child relationships (like contacts and contact bank data) are properly maintained during sync

## Skills for agents

<Snippet file="agent-skills-intro.mdx" />

<Card title="Download Imobzi skills file" icon="wand-magic-sparkles" href="/sources/imobzi.md">
  Imobzi connector documentation as plain markdown, for use in AI agent contexts.
</Card>
