List leads
List workspace Contacts as a sync feed ordered by updated_at, oldest first. Use from/to to read only recent changes. The feed also holds contacts without a usable email or phone, which the Contacts list and the dashboards leave out. Do not page this list to count leads: for totals or breakdowns in a period, call roofkit.analytics.metric.get.
Argumentos
number
Page size, 1 to 500. Default 50.
string
pagination.next_cursor of the previous page.
string
Matches name, email, phone, address, id, source, medium, or campaign.
string
ISO 8601 date-time with an offset. Keeps leads updated at or after it.
string
ISO 8601 date-time with an offset. Keeps leads updated at or before it.
string
First-touch source key, for example google.
string
string
string
A stage id from roofkit.leads.pipeline.list.
string
Key or label of a workspace lead type.
string
Valores permitidos:
public_quiz, onsite_form, partner_api, jobnimbus_import, sms_inbound, phone_call.string
Valores permitidos:
call, sms.Get lead
Get one lead by id.
Argumentos
string
requerido
Create lead
Create or upsert a lead. Requires an idempotency key.
Argumentos
string
requerido
string
string
string
string
string
Key or label of a workspace lead type. Built-in keys: phone_call, text_message, roofkit_site, own_website, ad_lead_form, chat, email, appointment, manual, crm_import, external, other. Create uses external when omitted. Update changes it only when sent. Como máximo 100 caracteres.
Update lead
Update a lead as the app does. Requires an idempotency key. Only the fields sent change. Warning: notes replaces the whole Notes field, so send the full text. quote_value and sales_value need financial access. The change is live: a stage change can send conversions to connected ad and analytics accounts, the lead syncs to a connected JobNimbus, and automations run.
Argumentos
string
requerido
string
requerido
string
string
string
string
string
Key or label of a workspace lead type. Built-in keys: phone_call, text_message, roofkit_site, own_website, ad_lead_form, chat, email, appointment, manual, crm_import, external, other. Create uses external when omitted. Update changes it only when sent. Como máximo 100 caracteres.
string | null
Replaces the whole Notes field. It does not append. Read the lead first and send all the text to keep. An empty string or null clears it. Como máximo 5000 caracteres.
string
A stage id from roofkit.leads.pipeline.list. Moves the lead to it.
string | null
ISO 8601 date-time with Z or a +/-HH:MM offset, for example 2026-11-03T15:00:00-05:00. null clears it.
number | null
Quote value in dollars, not cents. Needs financial access. null clears it. Mínimo 0. Máximo 10000000.
number | null
Sales value in dollars, not cents. Needs financial access. null clears it. Mínimo 0. Máximo 10000000.
object
Custom field values by field key. Only the keys sent change, and null clears one. Each key must be an active custom field of the workspace.
List lead campaigns
List the marketing campaigns linked to a lead, with the first and last touch flags.
Argumentos
string
requerido
Attach campaign to lead
Link a marketing campaign to a lead, as the Campaigns section of the lead page does. The campaign becomes the last touch of the lead, and campaign reports count it. utm_campaign links the campaign of that key and creates the campaign when none exists. Requires an idempotency key. The change is live.
Argumentos
string
requerido
string
requerido
string
A campaign id from roofkit.leads.campaigns.list.
string
A campaign key, for example the key of a roofkit.campaigns.list row.
Detach campaign from lead
Remove the link between a marketing campaign and a lead. The first and last touch flags move to the remaining campaigns, and campaign reports stop counting the lead for it. The campaign itself stays. Requires an idempotency key. The change is live.
Argumentos
string
requerido
string
requerido
string
A campaign id from roofkit.leads.campaigns.list.
string
A campaign key, for example the key of a roofkit.campaigns.list row.
Archive lead
Archive a lead. Requires an idempotency key.
Argumentos
string
requerido
string
requerido
List pipeline stages
List lead pipeline stages.
Argumentos
Esta herramienta no recibe argumentos.
List lead conversions
List conversion snapshots for a lead.
Argumentos
string
requerido
List Data Objects
List Data Object definitions for the workspace.
Argumentos
Esta herramienta no recibe argumentos.
List Data Object records
List records for one Data Object, newest first. values are keyed by field id, and fields names each field (key, label, type).
Argumentos
string
requerido
number
Get Data Object schema
Read the schema of one Data Object: the table, its fields with id, key, type, options, and relation target, its relationships, and its views. Send the field ids to the record tools, a relationship id to roofkit.objects.links.create, and a view id to the view tools. A financial field that you cannot read has is_masked true.
Argumentos
string
requerido
Data Object id or slug, from roofkit.objects.list. Contacts is system:leads.
Get Data Object record
Read one record of a Data Object: values keyed by field id, its links with their ids, its stage history, and updated_at. A financial field that you cannot read has no value, and masked_field_ids names it.
Argumentos
string
requerido
Data Object id or slug, from roofkit.objects.list. Contacts is system:leads.
string
requerido
A record id from roofkit.objects.records.list.
Create Data Object record
Create one record in a custom table. The record is live at once for every member. relationships links the new record in the same write. Contacts and Reports refuse: create a lead with roofkit.leads.create. Needs the Data Tables plan. Writing a financial field needs financial access. Requires an idempotency key.
Argumentos
string
requerido
string
requerido
Data Object id or slug, from roofkit.objects.list. Contacts is system:leads.
object
requerido
Field values keyed by field id or field key, from roofkit.objects.get.
object[]
Update Data Object record
Change some fields of one record. Only the fields sent change, null clears one, and the change is live at once. On Contacts (system:leads) the email, phone, address, and attribution are read-only here: use roofkit.leads.update for a lead. A Contacts write also needs leads.write. Reports refuse. Undo a change with roofkit.objects.records.history.revert. A custom table needs the Data Tables plan. Writing a financial field needs financial access. Requires an idempotency key.
Argumentos
string
requerido
string
requerido
Data Object id or slug, from roofkit.objects.list. Contacts is system:leads.
string
requerido
A record id from roofkit.objects.records.list.
object
requerido
Field values keyed by field id or field key, from roofkit.objects.get.
Archive Data Object record
Archive one record of a custom table. It leaves every list at once, and its links are archived with it. Restore it with roofkit.objects.records.restore. Contacts and Reports refuse: archive a lead with roofkit.leads.delete. Needs the Data Tables plan. Requires an idempotency key.
Argumentos
string
requerido
string
requerido
Data Object id or slug, from roofkit.objects.list. Contacts is system:leads.
string
requerido
A record id from roofkit.objects.records.list.
Restore Data Object record
Restore one archived record of a custom table with the links archived with it. It is live at once. It refuses when its table is archived, when a unique field value is taken, or at the record limit of the plan. Needs the Data Tables plan. Requires an idempotency key.
Argumentos
string
requerido
string
requerido
Data Object id or slug, from roofkit.objects.list. Contacts is system:leads.
string
requerido
A record id from roofkit.objects.records.list.
Search relation targets
Search the records that a relation can link to, by name. object_id is the target table id: relation_target_object_id of a relation field in roofkit.objects.get, system:leads, or system:reports. Reports also need reports.read.
Argumentos
string
requerido
Target table id. A slug is not accepted.
string
Como máximo 200 caracteres.
integer
Page size. Default 25. Mínimo 1. Máximo 100.
string
pagination.next_cursor of the previous page.
List record links
List the links of one record. outgoing holds the links that the record holds, and incoming the links that other records hold to it. Send the id of an outgoing link, or the relationship_id of an incoming link, to roofkit.objects.links.delete.
Argumentos
string
requerido
Data Object id or slug, from roofkit.objects.list. Contacts is system:leads.
string
requerido
A record id from roofkit.objects.records.list.
Link records
Link two records through one relationship of the source table, from relationships in roofkit.objects.get. The link is live at once on both records, and the cardinality of the relationship applies. Needs the Data Tables plan. Requires an idempotency key.
Argumentos
string
requerido
string
requerido
string
requerido
A record of the source table of the relationship.
string
requerido
A record from roofkit.objects.relation_targets.search.
Unlink records
Remove one link between two records. It is gone from both records at once. Undo it with roofkit.objects.records.history.revert. Needs the Data Tables plan. Requires an idempotency key.
Argumentos
string
requerido
string
requerido
A link id from roofkit.objects.links.list.
Save Data Object view
Create a view of one table, or update the view that view_id names. Every member sees the change at once. config_json is the config of a view in roofkit.objects.get, as JSON text: its filters, sorts, and columns. A kanban view groups by a status field. When the table has none, RoofKit adds a Deal stages field and names it in seeded_status_field. Needs the Data Tables plan. Requires an idempotency key.
Argumentos
string
requerido
string
requerido
Table id: object.id from roofkit.objects.get. A slug is not accepted.
string
A view id from roofkit.objects.get.
string
requerido
Como máximo 120 caracteres.
string
requerido
Valores permitidos:
table, kanban, list.string
Como máximo 20000 caracteres.
string | null
Status field a kanban groups by.
boolean
Open this view first for every member.
Archive Data Object view
Archive one view of a table. It leaves the view list of every member at once. The last view of a table cannot be archived. Bring it back with roofkit.objects.schema.versions.restore. Requires an idempotency key.
Argumentos
string
requerido
string
requerido
Table id: object.id from roofkit.objects.get. A slug is not accepted.
string
requerido
A view id from roofkit.objects.get.
Create Data Object
Create a custom table from a template. It is live at once for every member with Data Objects access. It needs the Data Tables plan and room under the custom table limit: roofkit.objects.list answers custom_table_limit. Requires an idempotency key.
Argumentos
string
requerido
string
requerido
blank starts empty. Valores permitidos:
blank, insurance_claims, referral_partners, hoa_approvals, production_jobs, sales_efficiency.string
requerido
Table name, for example Jobs. Como máximo 120 caracteres.
string
requerido
Name of one record, for example Job. Como máximo 120 caracteres.
string | null
null clears it. Como máximo 2000 caracteres.
string
requerido
Phosphor icon name, for example Table, HardHat, or ShieldCheck. Como máximo 80 caracteres.
string
requerido
Hex color, for example #2563EB. RoofKit uses the nearest table palette color. Como máximo 32 caracteres.
string
URL name. Default from label_plural. Como máximo 80 caracteres.
string
The first view. Default table. Valores permitidos:
table, kanban, list.Update Data Object details
Change the name, description, icon, and color of a custom table. Send label_plural, label_singular, icon, and color each time. The change is live at once. Needs the Data Tables plan. Requires an idempotency key.
Argumentos
string
requerido
string
requerido
Table id: object.id from roofkit.objects.get. A slug is not accepted.
string
requerido
Table name, for example Jobs. Como máximo 120 caracteres.
string
requerido
Name of one record, for example Job. Como máximo 120 caracteres.
string | null
null clears it. Como máximo 2000 caracteres.
string
requerido
Phosphor icon name, for example Table, HardHat, or ShieldCheck. Como máximo 80 caracteres.
string
requerido
Hex color, for example #2563EB. RoofKit uses the nearest table palette color. Como máximo 32 caracteres.
Save Data Object fields
Save the fields of one table with its name. Read roofkit.objects.get first and send every field in the order to show. A field with id changes it, and a field without id is created. archived_field_ids archives fields and hides their values. The change is live at once for every member. RoofKit keeps the schema before the save: roofkit.objects.schema.versions.restore brings it back. Needs the Data Tables plan. Requires an idempotency key.
Argumentos
string
requerido
string
requerido
Table id: object.id from roofkit.objects.get. A slug is not accepted.
string
requerido
Table name, for example Jobs. Como máximo 120 caracteres.
string
requerido
Name of one record, for example Job. Como máximo 120 caracteres.
string | null
null clears it. Como máximo 2000 caracteres.
string
requerido
Phosphor icon name, for example Table, HardHat, or ShieldCheck. Como máximo 80 caracteres.
string
requerido
Hex color, for example #2563EB. RoofKit uses the nearest table palette color. Como máximo 32 caracteres.
object[]
requerido
string[]
string[]
Fields shown first on the record page.
string[]
Field ids in the order of the record page.
Archive Data Object
Archive one custom table with its records and links. It leaves the navigation of every member at once. A built-in table, such as Contacts, Reports, or Opportunities, refuses with CONFLICT. Restore it with roofkit.objects.restore. Requires an idempotency key.
Argumentos
string
requerido
string
requerido
Table id: object.id from roofkit.objects.get. A slug is not accepted.
Restore Data Object
Restore one archived custom table with its records and links. It needs room under the custom table limit of the plan. Requires an idempotency key.
Argumentos
string
requerido
string
requerido
Table id: object.id from roofkit.objects.get. A slug is not accepted.
List archived tables and records
List the archived records of custom tables, and the archived tables when you can manage the schema. Restore them with roofkit.objects.records.restore and roofkit.objects.restore.
Argumentos
Esta herramienta no recibe argumentos.
Export Data Object CSV
Export the records of one table to a CSV file and return download_url. The link works for 15 minutes without sign-in, so share it only with people who may read the data. The answer never holds the CSV. A custom table export without search, in created_at or updated_at order, holds up to 1,000 records: call again with next_cursor while has_more is true. Financial columns follow your financial access. The CSV export rule of the plan for your role applies.
Argumentos
string
requerido
Data Object id or slug, from roofkit.objects.list. Contacts is system:leads.
string
A view id from roofkit.objects.get.
string
Como máximo 200 caracteres.
string
Filters in the form of a view config_json. Como máximo 20000 caracteres.
string
Sorts in the form of a view config_json. Como máximo 20000 caracteres.
string
next_cursor of the previous export.
Import Data Object CSV
Import CSV rows into one custom table as new records. Send the CSV text, up to 2 MB, and one mapping for each CSV column: field (an existing field id), create_field (a new field, also needs data_objects.schema.manage), or ignore. Valid rows are live at once. rejected_rows names each row that failed and why. Contacts and Reports refuse. Needs the Data Tables plan. Writing a financial field needs financial access. Requires an idempotency key.
Argumentos
string
requerido
string
requerido
Data Object id or slug, from roofkit.objects.list. Contacts is system:leads.
string
requerido
Name of the CSV file, for the import history. Como máximo 200 caracteres.
string
requerido
The CSV text with a header row. Como máximo 2000000 caracteres.
object[]
requerido
List record history
List the change history of one Data Object record, newest first. Each change names its kind (create, import, update, archive, restore, link, unlink, revert, restore_version), its source (ui, agent, mcp, partner_api, system), the member who made it, and each changed field with its value before and after. A financial field you cannot read shows restricted: financial and no values. record.updated_at is the value to send as expected_updated_at to revert or restore.
Argumentos
string
requerido
Data Object id or slug, from roofkit.objects.list.
string
requerido
integer
Page size. Default 20. Mínimo 1. Máximo 50.
string
next_cursor of the previous page.
Revert record change
Undo one change of a Data Object record. The change is live at once. A field change sets each field back to its value before the change. An archive restores the record, a restore archives it, a link removes the link, and an unlink adds it back. A create or an import cannot be reverted. The call refuses with CONFLICT when the record changed after you read it, or when a later change wrote one of the same fields: then use roofkit.objects.records.history.restore. Writing a financial field needs financial access. Requires an idempotency key.
Argumentos
string
requerido
string
requerido
Data Object id or slug, from roofkit.objects.list.
string
requerido
string
requerido
A change id from roofkit.objects.records.history.list.
string
requerido
record.updated_at from the history you read. A record that changed since refuses the write with CONFLICT.
Restore record version
Restore the field values a Data Object record held right after one change, by undoing every later value change. The change is live at once. Links and the archive state stay as they are. The call refuses with CONFLICT when the record changed after you read it, or when the record is archived. Writing a financial field needs financial access. Requires an idempotency key.
Argumentos
string
requerido
string
requerido
Data Object id or slug, from roofkit.objects.list.
string
requerido
string
requerido
A change id from roofkit.objects.records.history.list.
string
requerido
record.updated_at from the history you read. A record that changed since refuses the write with CONFLICT.
List schema versions
List the saved versions of a Data Object schema and of its visualizations, newest first. RoofKit keeps one version before each schema save, field save, visualization save, and visualization archive. Each version names its kind (schema or view), the member and source of the save, and current_updated_at, the value to send as expected_updated_at to restore it.
Argumentos
string
requerido
Data Object id or slug, from roofkit.objects.list.
integer
Page size. Default 20. Mínimo 1. Máximo 50.
string
next_cursor of the previous page.
Restore schema version
Restore one version of a Data Object schema or visualization. The change is live at once for every member. A schema restore writes back the table labels, the fields, and their options, and archives fields created after the version. skipped_field_ids names the fields it could not restore, such as a relation whose relationship was archived. The state before the restore becomes a version too. The call refuses with CONFLICT when the schema or the visualization changed after you read it. A visualization restore also needs the visualization manage permission. Requires an idempotency key.
Argumentos
string
requerido
string
requerido
Data Object id or slug, from roofkit.objects.list.
string
requerido
A version id from roofkit.objects.schema.versions.list.
string
requerido
current_updated_at of the version, as you read it.