@@ -440,6 +440,36 @@ Return ONLY the range string - no sheet name, no explanations, no quotes.`,
440440 placeholder : 'Describe the range (e.g., "first 50 rows" or "column A")...' ,
441441 } ,
442442 } ,
443+ // Read Filter Fields (advanced mode only)
444+ {
445+ id : 'filterColumn' ,
446+ title : 'Filter Column' ,
447+ type : 'short-input' ,
448+ placeholder : 'Column header name to filter on (e.g., Email, Status)' ,
449+ condition : { field : 'operation' , value : 'read' } ,
450+ mode : 'advanced' ,
451+ } ,
452+ {
453+ id : 'filterValue' ,
454+ title : 'Filter Value' ,
455+ type : 'short-input' ,
456+ placeholder : 'Value to match against' ,
457+ condition : { field : 'operation' , value : 'read' } ,
458+ mode : 'advanced' ,
459+ } ,
460+ {
461+ id : 'filterMatchType' ,
462+ title : 'Match Type' ,
463+ type : 'dropdown' ,
464+ options : [
465+ { label : 'Contains' , id : 'contains' } ,
466+ { label : 'Exact Match' , id : 'exact' } ,
467+ { label : 'Starts With' , id : 'starts_with' } ,
468+ { label : 'Ends With' , id : 'ends_with' } ,
469+ ] ,
470+ condition : { field : 'operation' , value : 'read' } ,
471+ mode : 'advanced' ,
472+ } ,
443473 // Write-specific Fields
444474 {
445475 id : 'values' ,
@@ -748,6 +778,9 @@ Return ONLY the JSON array - no explanations, no markdown, no extra text.`,
748778 batchData,
749779 sheetId,
750780 destinationSpreadsheetId,
781+ filterColumn,
782+ filterValue,
783+ filterMatchType,
751784 ...rest
752785 } = params
753786
@@ -836,6 +869,11 @@ Return ONLY the JSON array - no explanations, no markdown, no extra text.`,
836869 cellRange : cellRange ? ( cellRange as string ) . trim ( ) : undefined ,
837870 values : parsedValues ,
838871 oauthCredential,
872+ ...( filterColumn ? { filterColumn : ( filterColumn as string ) . trim ( ) } : { } ) ,
873+ ...( filterValue !== undefined && filterValue !== ''
874+ ? { filterValue : filterValue as string }
875+ : { } ) ,
876+ ...( filterMatchType ? { filterMatchType : filterMatchType as string } : { } ) ,
839877 }
840878 } ,
841879 } ,
@@ -858,6 +896,12 @@ Return ONLY the JSON array - no explanations, no markdown, no extra text.`,
858896 type : 'string' ,
859897 description : 'Destination spreadsheet ID for copy' ,
860898 } ,
899+ filterColumn : { type : 'string' , description : 'Column header name to filter on' } ,
900+ filterValue : { type : 'string' , description : 'Value to match against the filter column' } ,
901+ filterMatchType : {
902+ type : 'string' ,
903+ description : 'Match type: contains, exact, starts_with, or ends_with' ,
904+ } ,
861905 } ,
862906 outputs : {
863907 // Read outputs
0 commit comments