Close integration
Close data, in your warehouse.
A Python asset calls the Close API. Bruin handles materialization and incremental loads.
"""@bruin
name: raw.close
connection: snowflake
materialization:
type: table
strategy: merge
columns:
- name: id
primary_key: true
secrets:
- key: close
inject_as: API_KEY
@bruin"""
import os, requests
BASE_URL = "https://…" # Close's API
def materialize():
key = os.environ["API_KEY"]
resp = requests.get(f"{BASE_URL}/records",
headers={"Authorization": key})
return resp.json() # Bruin loads and merges the rows$ bruin run assets/raw/close.py
- materialize · Close API
- load · snowflake raw.closemerged on id
- not_null · id
Loaded and checked.
How it connects
Connected in three steps.
CRM built for inside sales teams with built-in calling, email sequences, pipeline management, and sales reporting.
- 01
Store the Close API key as a Bruin secret.
- 02
A Python asset calls the API and returns rows.
- 03
Bruin handles materialization and the incremental strategy, then runs your checks.
The platform
Part of the Bruin platform.
Data in, ready for everything downstream: the models, the checks, the lineage and the AI layer.
Sources
DatabasesWarehousesApps & APIsFiles & storageStreams & webhooksWeb scrapingMove
Data IngestionFrequently asked
Questions about Close.
Does Bruin connect to Close?
Yes, through the Close API: a Python asset calls it and returns rows, and Bruin handles materialization, the incremental strategy and the checks. Or share test credentials and we build a dedicated connector within 7 days, or build it yourself and contribute it to ingestr.
How fresh is the data?
As fresh as your schedule. Incremental loads append, merge or replace a time window, every few minutes if you like.
Do we need Bruin Cloud?
No. The Bruin CLI and ingestr run locally, in CI or in your own orchestrator. Bruin Cloud adds scheduling, lineage, alerts and the AI data analyst on top.
Ready to connect Close?
$100 in credits and 50 AI tasks. No credit card.
A demo walks through your own data.