Methods for adding rows, columns, and individual cells to a GPAL grid.
GPALInput and GPALTextArea can feed GPAL.Ai as live input sources; GPALTextArea and GPALRichTextBox receive AI output; GPALStatusStrip shows AI status - wiring all three turns a form into a live AI interface.
Choosing what GPAL.Cryptography works with: the algorithm, the key material, and the data it acts on.
Answer the alert, confirm and prompt dialogs a page raises, instead of letting one open and stop the workflow until somebody clicks it.
Executes the conversion and appends the result to an existing file rather than overwriting it. Use when accumulating records across multiple converter calls.
How a logger is built, attached, and detached, and how each entry line is formatted. There is no Log method: entries come from published events.
REST API methods for navigating the browser, managing tabs and windows, and controlling window size.
Methods for configuring the browser type, driver location, download behavior, network settings, and automation engine mode.
Methods for attaching custom logic that runs after data entry, when selectors match elements, or when selectors find no elements.
Methods for attaching custom logic that runs after data entry, when selectors match elements, or when selectors fail to find elements.
A callback for a failure the workflow can have an opinion about, rather than one GPAL should decide alone.
Methods for adjusting where clicks land relative to an element, configuring drag offsets, and locating elements by image template matching.
Methods for comparing the content of a range against another file, grid, or range - useful for data validation and reconciliation.
Methods for setting the email envelope - from, to, CC, BCC, subject, body, and attachments.
Methods for authenticating with Google Drive and targeting specific files or local files for upload.
Methods for authenticating with Google Sheets, selecting a spreadsheet and sheet, and obtaining the Sheets object.
Methods for configuring the database connection - either via a full connection string or by setting server name, database name, username, and password individually.
Methods that filter found elements by checking if a property contains a substring - a looser match than the exact Match methods.
CredentialsConfig holds the OAuth endpoints, redirect URIs, vault API base URLs, and field-name keys used by every credential service. Load() reads ./credentialsConfig.json by default (or returns built-in defaults) and Save() writes it back. Both accept an optional GPALFile to redirect to a custom path and set it as the in-session default.
GPAL.Credentials and GPAL.CredentialsFor(serviceType) both start a credentials request; WithService selects the provider, and WithUsername/WithPassword set the account used to authenticate.
Methods for reading, creating, updating, and deleting database records, and for executing arbitrary SQL commands.
Three settings control how CSV, TAB, and PIPE-delimited input is parsed: whether the first row is column headers, whether fields are enclosed in quotes, and whether to skip the first row entirely.
Methods for extracting data from the current page - as a grid, raw HTML, sitemap URLs, Next.js hydration data, or an LLM-friendly page digest.
Log directly to a database table by attaching a GPALDatabase object to the logger.
Methods for removing rows and clearing all data from a grid.
CredentialServiceType.None supplies a username and password directly in code, with no password manager involved. SaveTo writes them straight into a grid for FillInFrom.
REST API methods for querying the DOM by XPath or CSS, retrieving element properties, and switching context to iframes and shadow DOM.
Dragging an element to another element, or by a distance, with the selection built the way a person builds it.
Methods for uploading, downloading, moving, renaming, deleting files, and listing files in Google Drive.
Read and write DOM attributes directly on matched elements.
REST API methods for clicking, typing, hovering, and filling inputs on elements identified by XPath, CSS, or element ID.
Methods for encoding plain text to Base64 and decoding Base64 strings back to text.
The operations themselves, each handing its result back through an out parameter.
Methods that filter found elements by requiring an exact match on a specific property - text content, value, attribute, href, src, or placeholder.
Everything a process is given before it starts: the executable, one call per argument, the directory it runs in, its environment, and where its output goes.
PuppeteerClient mirrors RESTClient's Execute family - Execute(), Execute<T>(), ExecuteAsync(), AndThen() - plus navigation, element interaction, and DOM query methods backed directly by CDP. All of it runs on GPAL's own custom CDP implementation, not a Puppeteer-library wrapper.
Methods for executing REST API calls - synchronously or asynchronously, with single or chained results, and for checking HTTP status.
A path is a GPALFile, so most of the time nothing here is needed. GPAL.File is the builder for when the parsing or the output has to be described: delimiter, column names, header handling, quotes and overwrite behavior.
Answering the Windows Open, Save As and folder picker dialogs, through UIAutomation rather than by typing into them.
Methods for downloading files by clicking links, uploading files through file inputs, printing pages to PDF, and exporting scraped data to CSV, Excel, or text files.
Methods for copying, moving, and deleting files.
Methods for populating form controls from data sources and for reacting after each row of data is applied.
Methods for finding a template image within the current screen and loading images from file or Base64 strings.
Methods for filling desktop application inputs from data sources - overwriting, appending, or inserting from strings, files, databases, or grids.
Methods for filling in form inputs from data sources - overwriting, appending, or inserting content from strings, files, databases, or grids.
Methods for configuring the GPALForm window - title, size, position, and which controls it contains.
Methods for applying formatting to a range of cells - alignment, color, number format, and text rotation.
Reads the Windows clipboard. The type says which form to take, and SaveTo says what to put it in: a string, a grid, or a file.
Steps take arguments, up to three, passed beside the step rather than captured. The browser or application belongs to the workflow, not to the spec.
Given, When, And, and Then - the four fluent methods that map to standard Gherkin BDD syntax for structuring automation workflows as human-readable specifications.
Methods for uploading, deploying, and triggering Google Apps Script within a spreadsheet.
A push button for GPALForm. Its own settings are Default and the click handler; everything else is shared.
A chart for GPALForm.
A checkbox for GPALForm, holding a true or false the workflow reads back.
A drop-down list for GPALForm: a set of items, one of them selected.
A data grid for GPALForm, filled from a grid, a DataTable, a database or a file.
A date and time picker for GPALForm.
A file or folder picker for GPALForm: a text box with a browse button, or one compact row.
A titled box holding other controls.
A single-line text input for GPALForm: free text, a password field, read-only display, or placeholder-prompted entry.
A text label for GPALForm, for headings and for text a workflow updates as it runs.
A multi-column list for GPALForm, with optional checkboxes and sortable columns.
A menu bar, a toolbar, and the items that go on either one.
A number box with up and down arrows for GPALForm.
An image for GPALForm.
A progress bar for GPALForm.
A radio button for GPALForm. Buttons in the same container are mutually exclusive.
A request object, either captured from a page or written by hand, ready to be handed to Fetch.
A rich text pane for GPALForm that renders Markdown, for output a workflow writes as it runs.
A slider for GPALForm, for a number the user drags rather than types.
Two panes with a bar between them that the user can drag.
A status bar along the bottom of a GPALForm.
A tab in a GPALForm. Controls added after it belong to it until the next tab.
A grid container for GPALForm, for laying controls out in rows and columns.
A multi-line, word-wrapped text box for GPALForm, for text a workflow writes or a user types.
A tree for GPALForm, with optional checkboxes.
Methods for providing input to the AI model, specifying where results go, executing the task, and reacting to the AI response - including live form-wired input and output.
Methods for executing custom JavaScript on the page and for reading, writing, or deleting browser storage (cookies, localStorage, sessionStorage, IndexedDB).
Deriving a key from a password with PBKDF2, and using RSA to carry a key rather than a file.
A failed database call does not throw. It leaves a DatabaseError behind for the workflow to read.
Launch starts the process and answers the running launcher: read its output, wait for it, ask whether it is still up, and stop it or its whole tree.
Methods for opening a Windows desktop application, passing launch parameters, assigning a name for identification, and closing it when done.
WithCredentials(ICredentials) copies authentication fields - username, password, service key, OAuth tokens - from a previously-built credentials object, so a password manager's master login can be built once and reused across many lookups.
Methods for simulating clicks, keyboard input, drag-and-drop, and modifier key combinations.
Methods for clicking elements, typing text, pressing special keys, and switching focus between controls in a desktop application.
Methods for navigating the browser to URLs, moving through history, and closing the browser instance.
For Google, Azure, and AWS, FetchAccessToken exchanges a Google service account key or an OAuth client ID/secret (with WithScope) for an access token - opening a browser for one-time consent if no service account key or refresh token is supplied.
Methods for specifying which Excel file and sheet to operate on, and for closing the workbook when done.
Methods for specifying where log output goes - root directory, filename, filename pattern, and directory structure.
Methods for defining the data type and properties of database columns when using GPAL to create tables or define schema.
Methods for passing parameter values to SQL commands and stored procedures, and for using a grid as the parameter source.
WithService(LastPass / OnePassword / Dashlane / Bitwarden / Keeper) retrieves a saved login from that password manager. GetCredentialsFor sets the search target, WithDomain filters by URL, and SaveTo appends matching [Username, Password] rows to a grid.
Creating playlists, adding videos already uploaded, and reading video information back.
Methods for attaching browser storage operations (cookies, localStorage, sessionStorage, IndexedDB) that execute automatically before the browser navigates to the URL.
Formats JSON, YAML, XML, or HTML with human-readable indentation and line breaks. All other formats (CSV, TAB, PIPE, etc.) are returned as-is.
Writes a PDF of one element on the page, or of the whole page, with the styling it is shown with.
PuppeteerClient is the in-process equivalent of RESTClient - the same fluent endpoint-based API, but commands are sent directly over a Chrome DevTools Protocol (CDP) connection instead of through the OttoMagic REST API.
PuppeteerCommunicator is the lowest-level layer in GPAL's browser stack - a managed websocket connection that speaks the Chrome DevTools Protocol directly, used internally by PuppeteerClient and the Puppeteer-based automation engines.
Methods for specifying the SQL query, stored procedure, or table name that a database operation runs against.
Methods for exporting Excel data to a file, grid, or string variable, and for calculating summary values from a range.
Methods for reading ranges, writing data, and appending or inserting values into Google Sheets.
Pulling rows out of a desktop application with GetGrid, naming the columns, and saving them to a file.
Methods for reading individual cells, iterating rows, counting elements, and checking for value presence in a grid.
Watch the calls a page makes to its own API, so an endpoint can be read off a site rather than guessed at.
Methods that filter found elements using regular expressions on text, value, attribute, href, src, or placeholder - for when exact matching is too strict.
Registers a custom struct or complex nested type so the automapper can correctly deserialize it when using SaveTo<T>. Call before WithInput for each type that the mapper cannot resolve automatically.
Methods for capturing query results as a DataTable, an IGPALGrid, or via the Tokens property for debugging.
Executes the conversion and writes the result to a file, database, grid, string, or strongly-typed class. SaveTo<T> is the flagship overload - it automaps converted data directly into a typed C# class with zero mapping code.
Methods for saving Base64-decoded bytes to a file and guessing the correct file extension from binary content.
Waiting for YouTube to finish processing, then setting each video to premiere.
Methods for capturing screenshots of the screen or browser, and for converting screenshots to Base64, Bitmap, or saving to file.
Register a script that runs automatically on every new document load (before page scripts run), and remove it later.
Methods for scrolling UI Automation elements within a desktop application, both vertically and horizontally.
Methods for scrolling the page, waiting for elements or conditions, and handling paginated or infinite-scroll data sources.
Methods for configuring how a selector behaves - stopping the workflow on failure, enabling scroll-based search, using OCR, naming the selector for logs, and selecting the interaction engine.
Attach conditional logic directly to a selector - run a delegate when elements are found or when no elements are found.
Methods for defining how GPAL locates an element - by CSS, XPath, AutomationID, name, text, value, href, or a custom attribute.
How an XPath-like selector names a UIAutomation element: control types, attributes, position, and the descendant axis.
Methods for defining which UI automation elements the next action targets, including repeating element groups and persistent selectors.
Methods for defining which elements the browser's next action targets, including iframe context, shadow DOM, and repeating element groups.
Sending the composed message, reading incoming messages and their attachments, marking or deleting the ones that have been handled, clearing the envelope between messages, and parsing address strings.
Server, port, and credential settings for sending and receiving, plus loading and saving them to a file.
Puts what WithInput named onto the Windows clipboard, as text, a grid, a file, or an image.
The settings and callbacks shared by every GPAL form control, and the chain order they have to be said in.
Methods for initializing the RESTClient with an API base URL, endpoint, name, and optional OpenAPI map.
Methods for configuring the AI provider, task type, classification, and credentials before executing an AI operation.
Methods for creating, deleting, and renaming sheets, setting the spreadsheet title, and performing calculations.
Methods for displaying the form to the user, showing it as a modal dialog, and hiding it.
Methods for reducing automation detection - CDP protection, toString overrides, dark mode, Google referrer spoofing, chromedriver patching, and stealth clicking.
REST API methods for reading, writing, and deleting browser storage (cookies, localStorage, sessionStorage, IndexedDB) and for setting custom HTTP headers.
Methods for managing multiple browser tabs and windows, and for controlling the browser window state.
Methods for specifying which cells, ranges, rows, or columns an Excel operation applies to.
Turn a captured request into a template with holes in it, then run it once per row of values.
Methods for wrapping multiple database operations in a single transaction with commit and rollback support.
Describing a video and uploading the file, through GPAL.YouTube.
Methods for creating and updating a GPALUrl object that carries a URL string and optional pre-navigation storage actions.
Pass the access token returned by FetchAccessToken to RESTClient as a Bearer token to call the provider's API directly.
Methods for pausing execution until a specific time has passed, a UI element appears, or a named Windows window becomes visible.
WaitFor has three overloads on Browser - a fixed time, a Selector, or an ElementState - and behaves differently depending on whether it is called before or after an action in the current unit of work.
Settling on the right window, sizing and moving it, and launching a program that is already running.
Sets the data source for the conversion. Accepts a file, database, grid, string, object, or dictionary list - GPAL infers the format or you can specify it explicitly with WithInputType.
Explicitly sets the format of the input data. Use when format cannot be auto-detected from a file extension or string content, or to override GPAL's detection.
Sets the target format for the conversion. Determines how SaveTo, RenderTo, and AppendTo serialize the data.
Methods for defining reusable REST workflows, looping over conditions, naming results for chained use, and retrieving accumulated execution results.
Adding workflows to a browser to run them in order or repeat them until a condition is met, and GPAL.Workflow for running whole workflows at once, each with a browser of its own.
Methods for setting, replacing, inserting, prepending, and appending values within targeted cells or ranges.