Skip to main content
Olist Tiny is one of Brazil’s most widely used ERP systems for small and medium businesses, covering sales, finance, inventory, and invoicing. This connector uses the Olist Tiny API v3 to extract your orders, products, contacts, invoices (NF-e), accounts payable and receivable, sellers, brands, payment methods, and warehouses.

Configuring Olist as a Source

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

1. Add account access

Olist Tiny API v3 uses OAuth 2.0. Unlike most connectors, Olist applications are private to each account: you create your own application inside your Olist Tiny account and generate the credentials yourself. No developer knowledge is required — the guide below covers every click. The following configurations are required:
  • Client ID: From the application you create in your Olist Tiny account (guide below).
  • Client Secret: From the same application.
  • Refresh token: Generated with the Google OAuth Playground (guide below).
  • Start Date: (Optional) Lower bound for extraction. Products and Contacts sync incrementally from this date (dataAlteracao / dataAtualizacao); Orders, Invoices, and Accounts payable/receivable use it as an emission-date floor. If omitted, the full history available in the API is synced.
1

Create an application in your Olist Tiny account

  1. In the Olist ERP, open erp.olist.com/aplicativos_api (menu Configurações → Aplicativos API)
  2. Click + novo aplicativo
  3. Fill in the application details:
    • Nome: e.g., Nekt
    • URL de Redirecionamento: https://developers.google.com/oauthplayground
  4. Under Permissões do aplicativo, check Leitura (read) for every module you plan to sync — for example Contatos, Produtos, Notas Fiscais, Pedidos, and Contas a pagar/receber. Leave Incluir e editar and Excluir unchecked: Nekt only reads your data.
  5. Click salvar
  6. Copy the Client ID and Client Secret shown under Chaves de acesso
Each Olist account can have up to 5 applications. Keep your Client Secret secure — never share it publicly.
2

Open the Google OAuth Playground

The Google OAuth Playground is a free tool that generates your Refresh token in the browser — no coding involved. Click the link below to open it pre-configured for Olist Tiny:Open Olist Tiny OAuth Playground →
3

Configure the OAuth Playground

In the OAuth Playground, click the gear icon (⚙️) on the right side to open “OAuth 2.0 configuration” and update these values:
  1. Replace TINY_CLIENT_ID with your Client ID
  2. Replace TINY_CLIENT_SECRET with your Client Secret
  3. Verify the endpoints:
    • OAuth authorization endpoint: https://accounts.tiny.com.br/realms/tiny/protocol/openid-connect/auth
    • OAuth token endpoint: https://accounts.tiny.com.br/realms/tiny/protocol/openid-connect/token
  4. Click Close
4

Authorize and get your Refresh token

If your browser is signed in to more than one Olist Tiny account (or to someone else’s account), Olist may skip the login screen and authorize the wrong account without asking. When in doubt, do this step in a private/incognito window so you are prompted to log in.
  1. In Step 1 of the playground (left side), the scope openid is already filled in — click Authorize APIs
  2. You’ll be redirected to Olist Tiny — log in with the same account that owns the application and approve the requested permissions
  3. After returning to the playground, click Exchange authorization code for tokens (Step 2)
  4. Your refresh_token appears in the response on the right side
Copy the refresh_token value and go straight to Nekt. Do not click Refresh access token in the playground afterwards — each refresh replaces the token, and the one you copied would stop working.
5

Paste your credentials in Nekt

Back in Nekt, fill in the three fields:
  • Client ID: From your Olist application
  • Client Secret: From your Olist application
  • Refresh token: The refresh_token value you just copied
The refresh token expires in about 24 hours if unused — finish the source setup right after generating it. After the first successful run, Nekt renews it automatically on every extraction; you never need to touch it again as long as the source runs at least daily.
The application belongs to the Olist account that created it, which is why each account uses its own Client ID and Client Secret. If you change the application’s permissions later, generate a new refresh token (repeat the OAuth Playground steps) for the changes to take effect. Authorize with an account that can view the data you intend to sync — some modules depend on your Olist Tiny plan.
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, 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.
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

Below you’ll find all available data streams from Olist Tiny and their fields, as returned by the API v3 list endpoints. Every record is keyed by id. Nested entities (such as cliente, endereco, and vendedor) are delivered as JSON strings — extract their fields with SQL JSON functions, for example JSON_VALUE(cliente, '$.nome').
Sales orders with customer, seller, shipping, and total.Key Fields:
Product catalog with pricing and stock. Synced incrementally by dataAlteracao.Key Fields:
Contacts / customers registry. Synced incrementally by dataAtualizacao.Key Fields:
Fiscal invoices (Nota Fiscal eletrônica) with customer, delivery, shipping, and totals.Key Fields:
Accounts payable entries. Accepts a Start Date lower bound on the emission date.Key Fields:
Accounts receivable entries. Accepts a Start Date lower bound on the emission date.Key Fields:
Sellers / sales representatives registry.Key Fields:
Product brands registry.Key Fields:
Payment methods registry.Key Fields:
Warehouses / stock deposits registry.Key Fields:

Data Model

The following diagram illustrates the relationships between the core data streams in Olist Tiny. Orders and invoices embed the customer and seller as JSON strings, and reference the seller through the id inside the vendedor field.

Implementation Notes

Sync mode

  • Incremental: Products (dataAlteracao) and Contacts (dataAtualizacao).
  • Full table with an emission-date floor from the optional Start Date: Orders and Invoices (dataInicial), Accounts payable and Accounts receivable (dataInicialEmissao).
  • Full table: Sellers, Brands, Payment methods, and Warehouses.

Authentication and token lifetime

Authentication is OAuth 2.0 with a per-account application (your own Client ID and Client Secret). The refresh token rotates on every run and expires in about a day, so schedule this source to run at least once daily; if it stays idle longer, generate a new refresh token with the OAuth Playground (see the setup guide above) and update the source.

Nested objects and types

Nested entities (cliente, endereco, vendedor, transportador, ecommerce, precos, estoque, …) are delivered as JSON strings. Extract individual fields with SQL JSON functions:
Record id values are integers; most monetary and weight fields (valor, saldo, pesoBruto) are numbers, while a few (such as pedidos.valor) come back as strings — cast as needed. Dates use ISO format (YYYY-MM-DD; incremental keys use YYYY-MM-DD HH:MM:SS).

Rate limits

The Olist Tiny v3 API allows 60, 120, or 240 requests per minute depending on your plan, and the limit is shared across every application on the account. The connector watches the rate-limit headers and automatically pauses until the window resets, so large syncs complete — they just take longer on lower plans or on accounts with other integrations running.

Brazilian context

This connector is designed for the Brazilian market:
  • Currency: Values are in BRL (Brazilian Real).
  • Documents: Counterparties are identified by CPF (individuals) or CNPJ (companies) in the cpfCnpj field.
  • Addresses: Brazilian address format with CEP (postal code) and state abbreviation (uf).

Skills for agents

Download Olist skills file

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