Skip to main content
Install the package for your integration and create an instance with its factory. Use factory auth for developer credentials and connection entries to let users link their own accounts.

Credentials and identity

Google factory options

createGoogleSheets, createGoogleDrive, createGoogleCalendar, and createGmail accept the same options: createGoogle accepts slug (default 'google'), oauth for sign-in, and auth: { accessToken }. It has no actions, so its auth is not used for API calls. See factory options for the shared options. Linear and Resend options are on the Linear and Email pages.
Pass connections to your root config, then open Settings → Linked accounts. For a custom client, submit the raw schema input:

Share Google app credentials

Google’s identity recipe requests OpenID, email, and profile access. Gmail adds mailbox scopes, and a scopes option on createGmail changes only Gmail’s consent screen, not the shared app. Put google in a collection’s auth.signIn for login and pass connections to the root config for Gmail linking. Sheets, Drive, and Calendar share google.oauth the same way, with a separate entry and callback for each product. See the complete product connection example and redirect setup.

Google actions

Sheets, Drive, and Calendar provide 52 actions in total. Select action properties directly in an agent’s tools array, such as [googleSheets.findRows, googleDrive.getFile, googleCalendar.listEvents]. Import each action-name list from its product package for the complete inventory. All three also expose customApiCall. Actions are callable properties on each piece instance. Tool slugs use the instance slug and action name, such as google-sheets_appendRow.
  • Sheets appendRow appends to the table; insertRow inserts after afterRow (default 1, just below the header). Row writes use spreadsheetId, numeric sheetId, and values as an ordered array or column-letter object; updateRow also requires a one-based row.
  • Drive getFile returns metadata. downloadFile saves a FrogBot file and returns its reference, not extracted text. uploadFile accepts file: { fileId, name? } referring to an accessible FrogBot file.
  • Calendar createEvent uses calendarId, title, and startDateTime, with optional endDateTime (default duration: 30 minutes). Date-times must include a timezone. findFreeBusyPeriods takes calendarIds, startDate, and endDate and returns busy intervals and per-calendar errors.

Custom API calls

Gmail, Sheets, Drive, Calendar and the provider packages in More packages, except Exa, Front, Linear and Monday, have a customApiCall action for endpoints their other actions don’t cover. It sends the request with the connected credential and works the same way in every piece.
The result is always { status, headers, body }. An empty body is null. A non-2xx status throws an error with the piece, the status and the first 500 characters of the body, unless failsafe is true. Redirects are never followed: a 3xx throws, or is returned with failsafe. Slack and Telegram also throw when a 2xx response has ok: false. With responseType: 'binary', body is the saved file, { id, name, mimeType, size, url }. The file is created as the caller, with access control. Binary calls need an upload collection with file: true; without one the call throws before sending the request.

More packages

Each shipped package is a native FrogBot piece and defines its own actions, triggers, and credential requirements.

Pieces without provider credentials

The utility packages are piece-text-helper, piece-math-helper, piece-date-helper, piece-crypto, piece-csv, piece-xml, piece-qrcode, piece-data-summarizer, piece-http, piece-graphql, piece-file-helper, piece-image-helper, and piece-pdf, all under @frogbotai/. See Pieces for selecting agent tools and Connections for credential resolution, replacement, and refresh behavior.