quickbase_create_record
Add a new record to a specified table in QuickBase using defined field values. Simplify data entry and organization directly via the QuickBase MCP Server.
Instructions
Create a new record in a table
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| fields | Yes | Field values as fieldId: {value: actualValue} pairs | |
| tableId | Yes | Table ID to create record in |
Implementation Reference
- src/index.ts:249-263 (handler)MCP tool handler for 'quickbase_create_record' that extracts arguments, calls QuickBaseClient.createRecord, and returns a success message with the new record ID.case 'quickbase_create_record': if (!args || typeof args !== 'object') { throw new Error('Invalid arguments'); } const newRecordId = await this.qbClient.createRecord(args.tableId as string, { fields: args.fields as Record<string, any> }); return { content: [ { type: 'text', text: `Record created with ID: ${newRecordId}`, }, ], };
- src/tools/index.ts:47-50 (schema)Zod schema definition for validating input to quickbase_create_record tool.const CreateRecordSchema = z.object({ tableId: z.string().describe('Table ID to create record in'), fields: z.record(z.any()).describe('Field values as fieldId: value pairs') });
- src/tools/index.ts:281-296 (registration)Tool registration in quickbaseTools array, including name, description, and inputSchema for ListTools endpoint.{ name: 'quickbase_create_record', description: 'Create a new record in a table', inputSchema: { type: 'object', properties: { tableId: { type: 'string', description: 'Table ID to create record in' }, fields: { type: 'object', description: 'Field values as fieldId: {value: actualValue} pairs', additionalProperties: true } }, required: ['tableId', 'fields'] } },
- src/quickbase/client.ts:183-191 (helper)Core implementation of record creation via QuickBase API POST /records, extracting new record ID from field 3.async createRecord(tableId: string, record: QuickBaseRecord): Promise<number> { const response = await this.axios.post('/records', { to: tableId, data: [{ ...record.fields }] }); return response.data.data[0]['3'].value; // Record ID is always field 3 }