ProtectedapiProtectedformThe form platform this action is designed for (e.g., 'Typeform', 'Google Forms', etc.)
ProtectedintegrationThe integration name to look up in the Integration entity
ProtectedbuildBuild filter string for Google Forms API Filters use a SQL-like syntax: timestamp > "2024-01-01T00:00:00Z"
ProtectedbuildHelper to build consistent error messages for form operations
OptionalsystemError: anyProtectedcalculateProtectedcalculateCalculate completion rate percentage
ProtectedconvertConvert responses to CSV format
ProtectedcreateCreates an OAuth2Manager instance for the specified company. Override this method in provider-specific base classes to configure OAuth2 endpoints.
The MemberJunction company ID
The user context
OAuth2Manager instance or null if OAuth2 is not configured
ProtectedextractProtectedextractExtract question information from form details Useful for building comprehensive reports with question titles
ProtectedfindFind most common answers for choice fields
ProtectedformatFormat duration in seconds to human readable format
ProtectedformatStandard date format for form platforms (ISO 8601)
ProtectedformatFormat date for Google Forms API (RFC3339 format)
ProtectedgetGet all responses with automatic pagination using pageToken
Optionaloptions: { filter?: string; maxResponses?: number }ProtectedgetGets API credentials - first tries environment variables, then falls back to database
ProtectedgetGet axios instance with Google Forms authentication (OAuth 2.0)
ProtectedgetCommon form builder parameters that many actions will need. CompanyID is required for secure credential lookup. FormID is the platform-specific form identifier.
ProtectedgetGets the company integration record for the specified company and form platform
ProtectedgetGets credentials from environment variables Format: BIZAPPS_{PROVIDER}{COMPANY_ID}{CREDENTIAL_TYPE} Example: BIZAPPS_TYPEFORM_12345_API_TOKEN
Falls back to: BIZAPPS_{PROVIDER}_{CREDENTIAL_TYPE} if no company-specific credential found Example fallback: BIZAPPS_TYPEFORM_API_TOKEN
ProtectedgetGet form details including questions and settings
ProtectedgetGet responses from a Google Form
Optionaloptions: { filter?: string; pageSize?: number; pageToken?: string }ProtectedgetHelper to get parameter value with type safety
ProtectedgetHelper to securely retrieve API token for a company. This method should be used by all form builder actions instead of accepting tokens as parameters.
The MemberJunction company ID (required)
The user context for database queries
The API token for the specified company
ProtectedgetGet a single response by ID
ProtectedgroupProtectedhandleHandle Google Forms-specific errors
ProtectedInternalInternal method that must be implemented by derived action classes. This is where the actual action logic should be implemented.
The action execution parameters including typed context
Promise resolving to the action result
ProtectedisProtectednormalizeNormalize Google Forms response to common format
OptionalformDetails: GoogleFormsDetailsProtectedparseParse date from form platform format
ProtectedparseParse Google Forms date string (RFC3339 format)
Executes the action with the provided parameters.
The action execution parameters including context
Promise resolving to the action result
ProtectedsleepSleep helper for rate limiting and pagination delays
Action to retrieve complete details of a Google Form including all questions, settings, and configuration
Security: This action uses secure credential lookup via Company Integrations. API credentials are retrieved from environment variables or the database based on CompanyID.
Example