Sources
Sources feed data INTO tables. Webhook sources provide a URL to POST data, API pull sources fetch on a schedule, connected table sources flow records from another table.
Source Types
| Type | What It Does |
|---|---|
webhook | Provides a URL to POST data into the table |
csv_import | Upload CSV files to create records |
api_pull | Fetch data from an external API on a schedule |
connected_table | Flow records from another hypertab table via filter |
manual | Manually managed — no automatic ingestion |
Create Source
/v1/tables/:tableId/sourceshypertab_create_sourceCreate a data source for a table.
| Parameter | Type | Description |
|---|---|---|
tablerequired | string | Table name or ID |
typerequired | string | webhook, csv_import, api_pull, manual, or connected_table |
name | string | Human-readable source name (max 128 chars) |
config | object | Type-specific config (see examples below) |
Creates a webhook source for a table. Wrap the source with an endpoint route to publish the current/e/:endpointId URL that external services POST to.
{
"tool": "hypertab_create_source",
"arguments": {
"table": "leads",
"type": "webhook",
"name": "Typeform submissions",
"config": {
"field_mapping": {
"form_fields.email": "email",
"form_fields.name": "full_name"
}
}
}
}{
"tool": "hypertab_create_source",
"arguments": {
"table": "deals",
"type": "api_pull",
"name": "CRM sync",
"config": {
"url": "https://api.crm.com/deals",
"method": "GET",
"headers": { "Authorization": "Bearer <crm-token>" },
"schedule": "0 */6 * * *"
}
}
}{
"tool": "hypertab_create_source",
"arguments": {
"table": "qualified_leads",
"type": "connected_table",
"name": "From leads (score >= 80)",
"config": {
"source_table": "leads",
"filter": { "score": { "gte": 80 } }
}
}
}List Sources
/v1/tables/:tableId/sourceshypertab_list_sourcesList sources for a table (or all tables). Shows source type, status, record count, and last run time.
| Parameter | Type | Description |
|---|---|---|
table | string | Table name or ID (omit to list all sources) |
{ "tool": "hypertab_list_sources", "arguments": { "table": "leads" } }Update Source
(MCP only)hypertab_update_sourceRename a source, change type-specific config (e.g. an api_pull schedule), or pause/resume ingestion — in place, so the source ID, linked endpoint route, and retained log metadata are preserved. Source logs do not store payload values or previews and are normally retained for up to 30 days. Config keys are merged into the existing config; set a key to null to remove it.
| Parameter | Type | Description |
|---|---|---|
source_idrequired | string | Source ID to update |
name | string | New source name |
config | object | Config keys to merge (null deletes a key) |
status | string | 'paused' stops ingestion, 'active' resumes |
{
"tool": "hypertab_update_source",
"arguments": { "source_id": "src_abc123", "config": { "schedule": "0 * * * *" } }
}Delete Source
/v1/sources/:sourceIdhypertab_delete_sourceDelete a source permanently. Requires confirm: true.
| Parameter | Type | Description |
|---|---|---|
source_idrequired | string | Source ID to delete |
confirmrequired | boolean | Must be true to confirm deletion |
{
"tool": "hypertab_delete_source",
"arguments": { "source_id": "src_abc123", "confirm": true }
}