Tools & Connectors
ETL & Data Movement
Fivetran, Airbyte, dbt Cloud, Hightouch, Census, and Stitch toolsets.
#ETL & data movement
Sources, destinations, and sync orchestration for analytics pipelines —
Fivetran, Airbyte, dbt Cloud, Hightouch, Census, and Stitch. Every
connector follows the standard @toolset / @toolify shape.
#Agent-ready behavior (overview)
All list tools across this category return compact summaries with
stable display refs (group_ref, connector_ref, destination_ref,user_ref, workspace_ref, source_ref, connection_ref,job_ref, project_ref, environment_ref, model_ref, sync_ref,run_ref). Raw provider IDs (Fivetran connector / group IDs, Airbyte
UUIDs, dbt Cloud numeric IDs, Hightouch / Census IDs, Stitch source
IDs) are hidden by default and exposed via include_ids=True when a
follow-up tool needs them.
Follow-up tools (get_connector, update_connector, trigger_sync,resync_connector, delete_connector, get_destination,get_source, delete_source, get_connection, get_job,cancel_job, get_project, trigger_job_run, get_run,cancel_run, list_run_artifacts, get_run_artifact, get_model,get_sync, get_sync_run) accept either the raw ID or the dict from
the matching list tool.
Destructive tools across this group (require user confirmation):delete_connector (Fivetran); delete_source and cancel_job
(Airbyte); cancel_run (dbt Cloud); delete_source (Stitch).
#FivetranToolSet
from maivn_tools import FivetranToolSet connector = FivetranToolSet( api_key=secrets["FIVETRAN_API_KEY"], api_secret=secrets["FIVETRAN_API_SECRET"],)Tools: list_groups, list_connectors, get_connector,update_connector, trigger_sync, resync_connector,delete_connector (destructive), get_connector_schemas,list_destinations, get_destination, list_users.
Agent-ready behavior
list_groups: summary withgroup_ref, name, created. Rawgroup_idhidden; opt in withinclude_ids=True(needed bylist_connectors(group_id=...)).list_connectors: summary withconnector_ref, name, schema,
service, sync frequency, paused state, status. Opt in forconnector_id(needed byget_connector,update_connector,trigger_sync,resync_connector,delete_connector,get_connector_schemas).list_destinations: summary withdestination_ref, name, service,
region, time_zone_offset. Opt in fordestination_id(needed byget_destination).list_users: summary withuser_ref, email, given/family name,
verified, active, role. Opt in foruser_id.- Tolerant inputs:
get_connector,update_connector,trigger_sync,resync_connector,delete_connector,get_connector_schemas,get_destinationaccept a raw ID or the
resource dict from the matching list tool. - Destructive:
delete_connector. Confirm before invoking.
conns = connector.list_connectors(group_id="abc", include_ids=True)connector.trigger_sync(conns["connectors"][0]) # dict accepted#AirbyteToolSet
from maivn_tools import AirbyteToolSet connector = AirbyteToolSet(access_token=secrets["AIRBYTE_TOKEN"])Defaults to Airbyte Cloud (https://api.airbyte.com); overridebase_url for self-hosted instances. Tools: list_workspaces,list_sources, get_source, create_source, delete_source
(destructive), list_destinations, list_connections,get_connection, create_connection, trigger_sync, trigger_reset,list_jobs, get_job, cancel_job (destructive).
Agent-ready behavior
list_workspaces: summary withworkspace_ref, name, data
residency. Opt in forworkspace_id.list_sources: summary withsource_ref, name, source type. Opt
in for the raw source UUID (needed byget_source,delete_source).list_destinations: summary withdestination_ref, name,
destination type. Opt in for the raw UUID.list_connections: summary withconnection_ref, name, status,
schedule, source name, destination name. Opt in for the raw UUID
(needed byget_connection,trigger_sync,trigger_reset).list_jobs: summary withjob_ref, job type, status, created /
ended timestamps, duration. Opt in for the numericjob_id(needed
byget_job,cancel_job).- Tolerant inputs:
get_source,delete_source,get_connection,trigger_sync,trigger_reset,get_job,cancel_jobaccept a
raw UUID/int or the dict from the matching list tool. - Destructive:
delete_source,cancel_job. Confirm before
invoking.
#DbtCloudToolSet
from maivn_tools import DbtCloudToolSet connector = DbtCloudToolSet( account_id=int(secrets["DBT_ACCOUNT_ID"]), api_token=secrets["DBT_TOKEN"],)Tools: list_projects, get_project, list_environments,list_jobs, get_job, trigger_job_run, list_runs, get_run,cancel_run (destructive), list_run_artifacts, get_run_artifact.
Agent-ready behavior
list_projects: summary withproject_ref, name, state, created.
Raw numeric project IDs hidden; opt in withinclude_ids=True
(needed byget_project,list_environments,list_jobs).list_environments: summary withenvironment_ref, name, type
(dev / prd),dbt_version, project name. Opt in for the raw
numeric ID.list_jobs: summary withjob_ref, name, schedule, state. Opt in
for the numericjob_id(needed byget_job,trigger_job_run,list_runs).list_runs: summary withrun_ref, human-readable status,
schedule trigger, duration, finished timestamp. Opt in forrun_id(needed byget_run,cancel_run,list_run_artifacts).- Destructive:
cancel_run. Confirm before invoking.
#HightouchToolSet
from maivn_tools import HightouchToolSet connector = HightouchToolSet(api_key=secrets["HIGHTOUCH_KEY"])Reverse-ETL: pulls modeled data from your warehouse out to SaaS tools.
Tools: list_sources, get_source, list_destinations,list_models, get_model, list_syncs, get_sync, trigger_sync,list_sync_runs, get_sync_run.
Agent-ready behavior
list_sources: summary withsource_ref, name, type, created.
Raw source IDs hidden; opt in withinclude_ids=True(needed byget_source).list_destinations: summary withdestination_ref, name, type,
created. Opt in for the raw ID.list_models: summary withmodel_ref, name, source name. Opt in
formodel_id(needed byget_model).list_syncs: summary withsync_ref, name, destination, model,
schedule. Opt in forsync_id(needed byget_sync,trigger_sync,list_sync_runs).list_sync_runs: summary withrun_ref, status, start / finish
timestamps. Opt in for the raw run ID.
#CensusToolSet
from maivn_tools import CensusToolSet connector = CensusToolSet(secret_token=secrets["CENSUS_TOKEN"])Census uses HTTP Basic with bearer:<secret>; the toolset handles
that internally. Tools: list_sources, get_source,list_destinations, list_models, get_model, list_syncs,get_sync, trigger_sync, list_sync_runs, get_sync_run.
Agent-ready behavior
list_sources: summary withsource_ref, name, type, created.
Raw IDs hidden; opt in withinclude_ids=True.list_destinations: summary withdestination_ref, name, type.
Opt in for the raw ID.list_models: summary withmodel_ref, name, created. Opt in formodel_id.list_syncs: summary withsync_ref, name, destination, model,
schedule. Opt in forsync_id(needed byget_sync,trigger_sync,list_sync_runs).list_sync_runs: summary withrun_ref, status, start / finish
timestamps. Opt in for the run ID.
#StitchToolSet
from maivn_tools import StitchToolSet connector = StitchToolSet( access_token=secrets["STITCH_TOKEN"], region="na",)Tools: list_sources, get_source, create_source, update_source,delete_source (destructive), list_streams, update_stream,get_destination, trigger_extraction, get_replication_summary.
Agent-ready behavior
list_sources: summary withsource_ref, name, type, schedule
(frequency in minutes), paused state. Raw source IDs hidden; opt
in withinclude_ids=True(needed byget_source,update_source,delete_source,list_streams,trigger_extraction,get_replication_summary).- Tolerant inputs:
get_source,update_source,delete_source,list_streams,trigger_extraction,get_replication_summary
accept a raw source ID or a source dict fromlist_sources(include_ids=True). - Destructive:
delete_source. Confirm before invoking.