Happiest Minds and UnifyApps Announce Strategic Partnership to Accelerate Enterprise AI Adoption
Find answers to your queries and learn more about our products
Salesforce
Unify IntegrationsSalesforce is a cloud-based software suite for customer relationship management
Using Salesforce streamlines managing customer relationships and sales processes. It helps track customer interactions, manage sales deals, and analyze data for better decisions.Salesforce ensures your customer data is protected with strong security. It's a tool for boosting sales efficiency and keeping customer information organized and safe. Integrating your application with Salesforce allows you to leverage Salesforce's extensive CRM capabilities. Authentication Before you begin, make sure you have the following information: Connection Name : Assign a descriptive name for this connection. This name is essential as it helps identify this specific Salesforce connection within UnifyWorkflow. Domain : This information directs your application to connect to the correct Salesforce instance. If your Salesforce instance URL is https://mycompany.my.salesforce.com , then your domain is mycompany.my.salesforce.com . Authentication Type : There are two options for authenticating the connection to your salesforce account - OAuth & JWT Token . OAuth After entering the Domain of your company, click Authorise . It will redirect you to the login page of Salesforce, from where you can login to your Salesforce account to directly authorize and connect your salesforce account in UnifyApps. Salesforce JWT Token Step 1: Create a Private Key and Digital Cert Authorizing an org with the org login jwt command requires a digital certificate and the private key used to sign the certificate. You can use your own private key and certificate issued by a certification authority. Alternatively, you can use OpenSSL to create a key and a self-signed digital certificate. Using a private key and certificate is optional when you authorize an org by logging into a browser. This process produces two files: server.key —The private key. You specify this file when you authorize an org with the org login jwt command. server.crt —The digital certificate. You upload this file when you create the required connected app. Open a terminal (macOS and Linux) or command prompt (Windows). If necessary, install OpenSSL on your computer. To check whether OpenSSL is installed on your computer, run the which command on macOS or Linux or the where command on Windows. Create a directory for storing the generated files, and change to the directory. Generate a private key, and store it in a file called server.key You can delete the server.pass.key file because you no longer need it. Generate a certificate signing request using the server.key file. Store the certificate signing request in a file called server.csr . Enter information about your company when prompted. Generate a self-signed digital certificate from the server.key and server.csr files. Store the certificate in a file called server.crt . Step 2 : Create a Connected App Salesforce CLI requires a connected app in the org that you're authorizing. A connected app is a framework that enables an external application, in this case Salesforce CLI, to integrate with Salesforce using APIs and standard protocols, such as OAuth. We provide a default connected app when you authorize an org with the org login web command . For extra security, you can create your own connected app in your org using Setup and configure it with the settings of your choice. You're required to create a connected app when authorizing the org with the org login jwt command. Log in to your org. From Setup , enter App Manager in the Quick Find box, then select App Manager . In the top-right corner, click New Connected App . Update the basic information as needed, such as the connected app name and your email address. Select Enable OAuth Settings . For the callback URL, enter http://localhost:1717/OauthRedirect . fIf port 1717 (the default) is already in use on your local machine, specify an available one instead. Then update your sfdx-project.json file by setting the oauthLocalPort property to the new port. For example, if you set the callback URL to http://loc
Zoho Invoice
Unify IntegrationsIntegrating your application with Zoho Invoice enables seamless invoicing, payment tracking, and customer management. It allows businesses to automate billing workflows, generate professional invoices, monitor payment statuses, and streamline financial operations efficiently. Authentication: Connecting your application with Zoho Invoice enables smooth invoice creation, real-time tracking, and automated financial workflows. Before you begin, ensure you have the following information : Connection Name: Choose a meaningful name for your connection. This helps you identify it within your application or integration settings (e.g., "MyAppZohoInvoiceIntegration"). Domain : Select your Zoho domain. Organization ID : Your Zoho Invoice organization ID. OAuth-Based Authentication: Zoho Invoice uses OAuth 2.0 for secure authentication. Go to the Zoho Developer Console. Create a new client. Choose Server-based Applications. Provide required details (Client Name, Redirect URI, etc.). After creation, note the following: Client ID Client Secret Generate a Grant Token using the authorization URL. Exchange the grant token for: Access Token Refresh Token Use the access token in API requests for authentication. Actions Action Name Descriptions Add task Add a task in Zoho Invoice Create contact Creates a contact in Zoho Invoice Create expense Create a expense in Zoho Invoice Create invoice Creates an invoice in Zoho Invoice Create project Creates a project in Zoho Invoice Delete contact Delete a contact in Zoho invoice Delete invoice Delete an invoice in Zoho invoice Delete project Delete a project in Zoho invoice Delete task Delete a task in Zoho invoice Get contact details Get the contact details in Zoho Invoice Get expense Get expenses in Zoho Invoice Get expenses in Zoho Invoice Get an invoice details in Zoho Invoice Get project details Get the project details in Zoho Invoice Get task details Get the task details in Zoho Invoice List expenses List expenses from Zoho Invoice List Invoices List invoices in Zoho Invoice Update contact Updates a contact in Zoho Invoice Update expense Update expense in Zoho Invoice Update invoice Updates an invoice in Zoho Invoice Update project Updates a project in Zoho Invoice Update task Updates a task in Zoho Invoice
Using repeatable
Unify ApplicationsDisplays dynamic lists/grids by repeating a component template for each data item. Takes an array of objects as input and creates multiple instances of the design. Essential for product catalogs, user lists, feeds. Configure data source, layout (list/grid)
The Repeatable component is a powerful tool for displaying dynamic lists or grids of data within your application. It works by taking a component or a group of components you design (a template) and repeating it for each item in a given data source. This is essential for building common UI patterns like product catalogs, user lists, task lists, comment threads, news feeds, and any other interface that needs to display a variable number of similar items. Key Properties / Configuration (Content Tab) The Content tab is where you connect your data and configure the core behavior of the Repeatable component. Data Source: This is the most important property. It requires an array of objects to function. Each object in the array will represent one instance of the repeated content on the screen. You can either bind this to a data source that returns data in the correct format (e.g., from an API call or a Unify Data Object). Or, you can manually enter a static array for prototyping, for example: {{ [{"id":"1","name":"Item 1"},{"id":"2","name":"Item 2"}] }} Primary Key: What it is: The name of a field in your data source objects that contains a unique identifier for each item (e.g., id, email, product_sku ). In the example above, id would be the primary key. Why it's needed: This allows the platform to efficiently track, update, and manage interactions for each individual item in the list, especially when items are selected or changed. Auto Select: What it is: This setting determines if an item should be automatically selected when the list first loads. Options: None : No item is selected by default. First Item : The first item from your data source is automatically selected. Last Item : The last item from your data source is automatically selected. Why it's useful: Ideal for creating master-detail layouts where selecting an item in the list displays its details in another part of the page. Auto-selecting the first item can populate the detail view on page load. Collect Child States: What it is: A toggle switch to gather information from components inside your repeated items. Why it's useful: Turn this ON if you have input components (like text fields, toggles, or dropdowns) within your repeatable template and you need to collect the values from all instances at once (e.g., submitting a form that contains a list of items with quantities). When off, the component is more performant as it doesn't track these individual states. Other Properties Add-ons: Configure additional functionalities like search or filtering for the list. Interactions: Define actions that can be triggered by events on the Repeatable component itself, such as On Row Clicked. Permissions: Standard Unify Applications feature to control the visibility of the entire component based on user roles. Binding Data to Child Components To make the Repeatable component useful, you need to display the data for each item. Any component you place inside the Repeatable (your " template ") gets access to a special currentItem object. currentItem: This object represents the data for a single item in the Data Source array for that specific instance. How to use it: You can bind the properties of currentItem to the components inside the Repeatable. For example, if your template has a Text component, you could set its value to {{currentItem.name}} to display the name of each item from your data source. Working with Selected Items A powerful feature of the Repeatable component is its ability to track which item a user has selected. This is the key to building interactive, master-detail interfaces.The component does this by exposing a special property called selectedItem. This property is an object that holds all the data for the currently selected row (e.g., {"id": "user-01", "name": "Alice"} ). When a user clicks on an item in the list, the Repeatable component triggers an On Select Item event. By navigating to the Interactions tab for your Repeatable component and adding an action to this
Encryption
Unify DataSecure your data with powerful encryption
AES ( Advanced Encryption Standard ) is a symmetric encryption algorithm widely used to secure data . It encrypts data using the same key for both encrypting and decrypting, making it essential to keep the key secret. This guide will walk you through using AES encryption and decryption transformations to protect sensitive data, such as PII (Personally Identifiable Information). AES Encryption AES encryption allows you to secure any field with a 256-bit encryption key. Steps to Apply Encryption AES Encryption Key : This is the 256-bit encryption key required to encrypt the data. Example : 6b71RouelDY2xLFfy1x0oYXq3oUDkfuc. Initialization Vector (IV) : An IV is a 128-bit value used with the encryption key to enhance security. Example : d4QaIQMb8RbOG5ai. Testing Encryption After applying the encryption transformation, test it to ensure it is working correctly. You should compare the encrypted output with expected values to verify the encryption process. Example: Encrypting a customer's social security number before storing it in a database: Input : Sample String Encrypted Output : enhTmMxQS+2o1Oi1nvnpxA== AES Decryption AES decryption uses the same symmetric algorithm to convert encrypted data back to its original form. Steps to Apply Decryption AES Decryption Key : Enter the 256-bit encryption key used for encryption. Example : 6b71RouelDY2xLFfy1x0oYXq3oUDkfuc. Initialization Vector (IV) : Provide the same 128-bit IV used during encryption. Example : d4QaIQMb8RbOG5ai. Testing Decryption After applying the decryption transformation, test it to ensure it is working correctly. You should compare the decrypted output with the original data to verify the decryption process. Example: Decrypting a customer's social security number to verify identity: Encrypted Input : enhTmMxQS+2o1Oi1nvnpxA== Decrypted Output : 123-45-6789 Best Practices Key Management : Implement a secure key management system to handle encryption keys. This may involve using key management services (KMS) provided by cloud providers. Regular Audits : Regularly audit your encryption and decryption processes to ensure they comply with security standards and best practices.
Delay
Unify AutomationsThe Delay Node in UnifyApps enables precise workflow timing by pausing actions until a specific date or for a set duration, enhancing control and scheduling flexibility.
Overview The Delay Node in UnifyApps is designed to manage timing within automation workflows by introducing pauses at key steps. It provides precise control over scheduling with options to delay actions until a specific date and time or for a set duration between actions. Use Case Example Schedule Delay Until- Scheduled Customer Follow-Ups When a lead reaches a certain stage in a sales pipeline, the automation can use Schedule Delay Until to follow up on a specific date, ensuring timely outreach and engagement. Set Delay Duration - Staggered Marketing Campaign Launch For a marketing campaign, use Set Delay Duration in the automation to introduce timed gaps between campaign rollouts across channels, simultaneously optimising reach without overwhelming audiences. Actions in Delay Schedule Delay Until The " Schedule Delay Until " action pauses an automation sequence until a specified date and time, enabling actions to occur precisely when needed. This is ideal for time-bound tasks that require specific future scheduling. Set Delay Duration The " Set Delay Duration " action introduces a fixed interval between actions in automation, allowing for controlled pauses between sequential steps. This is beneficial when actions need gradual timing rather than instant execution. Notes The Delay Node by UnifyApps provides essential actions for managing timing within automation workflows, enabling users to introduce precise delays between tasks. To make the most of these functionalities, keep in mind the following best practices: Schedule delays thoughtfully to enhance user experience. Utilise duration settings for optimal pacing in automation. Implement error handling to maintain workflow integrity. Monitor for potential timing conflicts in complex sequences. By effectively leveraging the Delay Node, users can create more responsive and organised workflows tailored to their operational needs.
Amazon Redshift as Source
Unify IntegrationsExtract and synchronize data from Amazon Redshift using optimized S3-based snapshots for historical data and cursor-based incremental loading for real-time analytics integration.
UnifyApps enables seamless integration with Amazon Redshift as a source for your data pipelines. This article covers essential configuration elements and best practices for connecting to Redshift sources. Overview Amazon Redshift is a fully managed, petabyte-scale data warehouse service optimized for analytics workloads. UnifyApps provides native connectivity to extract data from Redshift clusters efficiently and securely, supporting both historical data loads and continuous data synchronization. Connection Configuration Parameter Description Example Connection Name* Descriptive identifier for your connection "Production Redshift Analytics" Host Address* Redshift cluster endpoint "redshift-cluster.abc123xyz.us-east-1.redshift.amazonaws.com" Port Number* Database port 5439 (default) User* Database username with read permissions "unify_reader" Password* Authentication credentials "********" Database Name* Name of your Redshift database "analytics_db" Server Time Zone* Database server's timezone "UTC" Connection* Method of connecting to the database Direct or Via SSH To set up a Redshift source, navigate to the Connections section, click New Connection , and select Amazon Redshift . Fill in the parameters above based on your Redshift environment details. Server Timezone Configuration When adding objects from a Redshift source, you'll need to specify the database server's timezone. This setting is crucial for proper handling of date and time values. In the Add Objects dialog, find the Server Time Zone setting Select your Redshift server's timezone This ensures all timestamp data is normalized to UTC during processing, maintaining consistency across your data pipeline. Data Extraction Methods UnifyApps uses specialized techniques for Redshift data extraction: Historical Data (Initial Load) For historical data, UnifyApps uses a snapshot-based approach: Data is extracted in chunks from Redshift tables These chunks are temporarily staged in Amazon S3 The data is processed and loaded into the destination S3 staging objects are automatically cleaned up after successful processing This method optimizes for Redshift's architecture and minimizes impact on your cluster performance. Live Data (Incremental Updates) For ongoing changes, UnifyApps implements cursor-based polling You must select a cursor field (typically a timestamp or sequential ID) The pipeline tracks the highest value processed in each run Subsequent runs query only for records with cursor values higher than the last checkpoint Recommended cursor fields are datetime columns that track record modifications Supported Data Types for Cursor Fields Category Supported Cursor Types Numeric INTEGER, DECIMAL, SMALLINT, BIGINT String VARCHAR, CHAR (lexicographically ordered) Date/Time DATE, TIMESTAMP, TIMESTAMPTZ, TIME, TIMETZ Ingestion Modes Mode Description Business Use Case Requirements Historical and Live Loads all existing data and captures ongoing changes Data warehouse migration with continuous synchronization Valid cursor field required Live Only Captures only new data from deployment forward Real-time dashboard without historical context Valid cursor field required Historical Only One-time load of all existing data Point-in-time analytics or compliance snapshot No cursor field needed Choose the mode that aligns with your business requirements during pipeline configuration. CRUD Operations Tracking When tracking changes from Redshift sources: Operation Support Notes Create ✓ Supported New record insertions are detected Read ✓ Supported Data retrieval via full or incremental queries Update ✓ Supported Updates are detected as new inserts with the updated values Delete ✗ Not Supported Delete operations cannot be detected Supported Data Types Category Supported Types Integer SMALLINT, INTEGER, BIGINT Decimal DECIMAL, REAL, DOUBLE PRECISION Date/Time DATE, TIME, TIMESTAMP, TIMESTAMPTZ, TIMETZ String CHAR, VARCHAR Boolean BOOLEAN Other SUPER, VARBYTE All standard Redshift data types
Angular SDK
Embedded IntegrationsAngular library for integrating UnifyApps SDK into Angular applications.
Overview Angular library for integrating UnifyApps SDK into Angular applications. Step-by-Step Instructions Step 1: Installation Install the package using npm or your preferred package manager: Step 2: Obtain Credentials To get the required credentials, Contact support@unifyapps.com Required values: HOST_NAME IDP_ID APPLICATION_ID Replace these values in your component configuration. Step 3: Setting Up Basic Setup Import the UnifyAppsComponent in your Angular module or standalone component: Using with Template Reference You can access component methods using a template reference variable: Step 4: Configure Required Parameters unifyAppsSettings (required) Configuration object for UnifyApps SDK: host (required) - The base URL of the host application token (optional) - The temporary session id to authenticate the user identityProviderId (required) - Identity provider, required for authentication applicationId (required) - Application ID: The unique identifier of the application . Retrieve this from the application's overview page in the UnifyApps platform isApplicationPublic (optional) - Whether the application is public pageId (optional) - Page ID: If a specific page needs to be opened . Retrieve this from inside application's page settings (Page Slug) pageInputs (optional) - Page inputs required to render the application's page theme (optional) - Theme to be set for the application. Available themes: light , dark , system . Default is light onPageEvent (optional) - Callback function for page events Signature: (event: { eventType: string; eventPayload: unknown }) => Promise<void> | void Parameters: eventType (string): Name of the emitted page event eventPayload (unknown): Payload with which this event was triggered appConfig (optional) - Application configuration showCopilotChatLauncher (optional) - Show copilot chat launcher in the app loader (optional) - Loader configuration type (optional): Loader type (' shimmer ' | ' spinner ') locale (optional) - Locale to override the locale selection logic client (optional) - Client type: ( ' unifyapps ' | ' external ' ) deployedVersion (optional) - Deployed version renderInShadowDom (optional) - Use ShadowDom to wrap the SDK container element networkHeaders (optional) - An object containing any custom headers to be sent with each request to the host application containerEl (optional) The element where the application will be rendered. Can be: A string selector (e.g., ' #my-container ' or ' .container ') An HTMLElement reference If not provided, it defaults to the component’s host element. Component Methods update(updatedSettings: Partial<UnifyAppsSettings>) Update any of the UnifyApps global settings. goToPage(options) Navigate to a specific page. setTheme(theme: 'light' | 'dark' | 'system') Set the theme of the application.
Microsoft SQL Server
Unify IntegrationsIntegrate your app with Microsoft SQL Server to enable robust data management, seamless querying, and real-time business insights
Microsoft SQL Server is a relational database management system that supports data storage , retrieval , and management . Integrating it with your application enables seamless access to advanced database functionalities for efficient data handling and operations. Authentication Before you begin, make sure you have the following information: Connection Name : Choose a meaningful name for your connection. This name helps you identify the connection within your application or integration settings. It could be something descriptive like "My App SQLServer". Database Host : The SQLServer database host's IP address or DNS.Note: For URL-based hostnames, exclude the http:// or https:// part. For example, if the hostname URL is https:/sqlserver-qa.xxxx.ap-south-1.rds.amazonaws.com, enter sqlserver-qa.xxxx.ap-south-1.rds.amazonaws.com. Database Port : The port on which your SQLServer server listens for connections. Default value: 1433. Database User : The authenticated user with permission to read tables in your database. Database Password : The password for the database user. Schema Name : This represents the schema or user namespace within the PostgreSQL database containing tables, views, and other objects. Connect through SSH : Enable this option to connect to Unifyapps using an SSH tunnel instead of directly connecting to your SQLServer database host. This provides additional security to your database by not exposing your SQLServer setup to the public. SSH Host : Enter the hostname or IP address of the SSH server that acts as the gateway to your database. Example: ssh.example.com or 203.0.113.1 SSH Port : Specify the port number on which the SSH server listens. The default is usually 22, but it may differ for security reasons. SSH User: Provide the username for authenticating with the SSH server. This is typically the user account on the remote server with the necessary permissions. RSA Private Key : Provide the RSA private key corresponding to the public key stored on the SSH server. Client Certificate : Obtain a valid client certificate from a trusted Certificate Authority (CA). This certificate authenticates your client to the database server. SSL Certificate Key : This private key corresponds to your client's certificate. Server Certificate : Obtain the database server's SSL certificate. This certificate verifies the server's identity to your client. Often provided by your database administrator or hosting service. Actions The following actions are available to create custom automations on the Unifyapps platform: Action Description Create Snapshot of Table Creates a snapshot of a table and stores it in S3. Execute SQL statement Executes a SQL statement in Microsoft SQL server Insert row Inserts row into a table in Microsoft SQL server List all databases Lists all databases in Microsoft SQL server List tables for a schema Lists tables for a schema in Microsoft SQL server Replicate schema Create/alter table schema in SQL Server Replicate rows (Batch) Replicate batch of rows to table in SQL Server Insert rows(Batch) Insert batch of rows in a table in SQL Server Select rows using custom SQL (Batch) Select rows using custom SQL in SQL Server Export query result (File) Export query result as a CSV file Get table schema Get table schema for SQL Server Bulk load from an on-prem file Bulk load rows into a table in SQL server from an on-prem file Select rows Select rows in a table in SQL Server Update rows (Batch) Update batch of rows in a table in SQL Server Update rows Update rows in a table in SQL Server Upsert rows Upsert row in a table in SQL Server Upsert rows (Batch) Upsert batch of rows in a table in SQL Server Delete rows (Batch) Delete rows in a table in SQL Server Execute stored procedure Execute stored procedure in SQL Server Run long query using custom SQL Run long query using custom SQL in SQL Server Triggers The following actions are available to create custom automations on the Unifyapps platform: Trigger Description New/up
QuickBooks as Source
Unify DataExtract comprehensive accounting data with OAuth authentication, supporting historical sync and real-time changes for financial reporting and business intelligence.
Overview QuickBooks Online is a cloud-based accounting software widely used by small and medium businesses for financial management, invoicing, and bookkeeping. UnifyApps provides native connectivity to extract data from QuickBooks environments efficiently and securely, supporting historical data synchronization and continuous change tracking. Connection Configuration Parameter Description Example Connection Name * Descriptive identifier for your connection "Production QuickBooks Accounting" Authentication Method * OAuth authentication type OAuth or OAuth with Client Credentials Client ID * Application identifier from Intuit Developer "your_client_id" Client Secret * Application secret from Intuit Developer "your_client_secret" Redirect URI * OAuth callback URL "https://your-app.com/callback" Company ID * QuickBooks company identifier "123456789012345" To set up a QuickBooks source, navigate to the Connections section, click New Connection, and select QuickBooks. Complete the form with your QuickBooks application credentials. Prerequisites and Setup Before configuring QuickBooks as your source, ensure you have: Client ID and Secret Setup These credentials are needed to authenticate your application. Follow these steps to obtain them: Log in to Intuit Developer Go to the Intuit Developer Dashboard and sign in Access your developer account at https://developer.intuit.com Create or Select an App From the Dashboard, click ' Create an App ' or select an existing app Choose the appropriate app type for your integration needs Navigate to Keys & Credentials In the app menu, select ' Keys & Credentials ' Here, you will find your Client ID and Client Secret under either Development or Production environment Use Development credentials for testing and Production credentials for live environments Set Redirect URI After obtaining your Client ID and Secret, follow these steps to set the Redirect URI: Access App Settings Go to the ' Settings ' tab in the left-hand menu of your Intuit Developer app Configure Redirect URIs Select ' Redirect URIs ' Add your Redirect URI (e.g., the URL where OAuth 2.0 will send the authorization code) Click 'Save' to apply the changes Verify Configuration Ensure the redirect URI matches exactly with your application's callback endpoint Multiple redirect URIs can be configured for different environments Authentication Methods OAuth Authentication Standard OAuth 2.0 flow for QuickBooks Online integration: Authorization Request : User is redirected to QuickBooks for authorization Authorization Grant : User grants permission to access their QuickBooks data Access Token : Application receives access token for API calls API Access : Use access token to make authenticated requests to QuickBooks API Required fields: Client ID : Your application's client identifier Client Secret : Your application's client secret Redirect URI : The callback URL for OAuth flow OAuth with Client Credentials Enhanced OAuth flow with additional client credential validation: Client Authentication : Application authenticates using client credentials Authorization Flow : Standard OAuth authorization process Token Exchange : Secure token exchange with client credential verification API Access : Authenticated access to QuickBooks data Required fields: Client ID : Your application's client identifier Client Secret : Your application's client secret Redirect URI : The callback URL for OAuth flow Additional Credentials : Enhanced client credential parameters Ingestion Mode QuickBooks as Source supports Historical and Live ingestion mode only: Mode Description Business Use Case Historical and Live Loads all existing data and captures ongoing changes Complete accounting data migration with continuous synchronization This mode ensures comprehensive data extraction from your QuickBooks account, including all historical records and real-time updates to maintain data consistency across your pipeline. Data Synchronization Capabilities Supported Operations
Module
Unify ApplicationsA group of components which can be reused across multiple applications and pages
Overview Modules are reusable groups of components that can be embedded in multiple pages within the same application—or even across different applications. They help reduce duplication, streamline maintenance, and ensure consistent UI/UX across your apps. Think of modules like mini-pages that can be reused wherever needed. Common use cases include login screens, settings pages, confirmation modals, and file upload dialogs. Whenever you update a module, the changes automatically reflect everywhere it's used—saving you time and effort. How to Use? 1. Application-Based Modules These are standalone modules that can be used across multiple applications. Go to the New Application tab. Click Create Module . This opens a single-page module editor. To add this module to any app, open the Components Panel , search for Module , and select it. Select your module from the dropdown and configure its appearance and interactions. 2. Page-Based Modules These modules are tied to a specific application and can't be reused across others. Inside your app, click the Page Dropdown > New > Module . You’ll be redirected to configure your new module. Use the Content Tab in the module component to link this module from the dropdown. Both types support full configuration, appearance customization, and interaction logic. Best Practices Reusability First: Avoid app-specific logic. Design modules to work in various apps without modification. Consistency: Match styles, spacing, and interaction patterns of the parent app to create a seamless user experience. Responsive Design: Ensure your modules adapt well across desktop, tablet, and mobile views.
Avatar Group
Unify ApplicationsAvatar Groups are customizable UI components that display collections of user avatars in a compact format, supporting both static configurations and dynamic data mapping for team displays and collaborative interfaces.
Overview The Avatar Group component provides a visual representation of multiple users or entities in a compact, organized display. It allows you to showcase a collection of avatars with customizable appearance and behavior. Avatar Groups can display both static lists of avatars or dynamically mapped data from your application sources, making them perfect for team displays, user lists, and collaborative interfaces. Key Properties Type Selection The Avatar Group offers two primary configuration types: Mapped : Connects to dynamic data sources to populate avatars automatically Static : Manually configured avatars with fixed properties Avatar Representation Each avatar within the group can be customized with: Icon or Image : Choose between symbolic icons or actual images Avatar ID : A unique identifier for each avatar in the group Fallback Text : Alternative text displayed when images fail to load Appearance Controls Size : Multiple size options from xxs to 2xl to fit your design needs Max Visible Avatars : Control how many avatars are visible at once Layout : Customize the arrangement and spacing of avatars Background : Set custom background colors and styles Border : Apply border styling to visually separate avatars Configuring an Avatar Group Creating a Static Avatar Group: Add the Avatar Group component to your page from the component library Select " Static " as the Type option Use the Avatars section to add individual avatars: Click the " + " button to add a new avatar Configure each avatar's properties (Avatar 1, Avatar 2, etc.) Use the trash icon to remove unwanted avatars Creating a Mapped Avatar Group: Add the Avatar Group component to your page from the component library Select " Mapped " as the Type option Configure the Mapped Avatars section: Select your data source Map the Avatar ID field to your data Choose between Icon or Image representation Set fallback text options Setting Avatar Appearance: Navigate to the Appearance tab Select the appropriate size for your avatars Set the maximum number of visible avatars Configure layout settings including spacing and alignment Customize background and border styling as needed Use Cases Team Member Display Use Avatar Groups to represent team members working on a project or assigned to a task. Configure the component to display user profile images with appropriate fallback text for accessibility. Collaborative Workspaces Implement Avatar Groups to show active participants in collaborative documents or workspaces. Connect to live data sources to dynamically update as users join or leave the space. Activity Indicators Pair Avatar Groups with interaction components to create interactive user listings that display activity status, online presence, or participation levels. User Selection Interfaces Use Avatar Groups in user selection interfaces, allowing users to quickly identify and select colleagues for sharing, permissions, or collaboration. Best Practices Optimal Visual Presentation Size Consistency : Maintain consistent avatar sizes throughout your application Limited Visibility : Set appropriate " Max Visible Avatars " to prevent overcrowding Adequate Spacing : Ensure enough spacing between avatars for clear visual separation Performance Considerations For large datasets, implement pagination or filtering when displaying Mapped Avatar Groups Use appropriate image optimization for avatar images to ensure fast loading times Accessibility Always provide meaningful fallback text for each avatar Ensure sufficient color contrast between avatars and background Interactive Capabilities Avatar Groups can be enhanced with interactive features: Click Actions : Configure what happens when users click on an avatar Hover States : Define visual feedback when users hover over avatars Selection States : Implement visual indicators for selected avatars Permissions Control who can see or interact with Avatar Groups by setting visibility permissions based on user roles or other contextual facto
Gainsight
Unify IntegrationsIntegrate your app with Gainsight to enhance customer success, automate engagement workflows, and drive retention
Gainsight is a customer success platform that helps businesses drive retention, reduce churn, and maximize customer growth through data-driven insights and automation. It offers tools for customer health monitoring, engagement, and lifecycle management. Integrating Gainsight enhances customer retention, reduces churn, and drives growth through data-driven insights and automation. Authentication Before you begin, make sure you have the following information: Connection Name : Choose a descriptive name for your connection (e.g. "MyAppGainsightIntegration") to easily identify it within your integration settings. Authentication Type : Gainsight API uses OAuth 2.0 for secure authentication and authorization. OAuth 2.0 Based Authentication Log in to your Control environment and navigate to Integrations Navigate to API to create or manage your API credentials. For more details on available scopes, endpoint-specific parameters, and additional functionalities such as managing community content, users, and webhooks, please refer to the full Gainsight Customer Communities API Documentation Actions Actions Description Create company records Create a single or multiple company records in Gainsight NXT Create company team record Creates a company team record in Gainsight NXT Delete records Delete a specific record in the company object in Gainsight NXT Get team record details Retrieve the details of a team record in Gainsight NXT Search records Retrieve the details of records in Gainsight NXT Update company records Update company records in Gainsight NXT Update company team record Updates a company team record in Gainsight NXT Upsert person Upsert a single person in Gainsight NXT Upsert persons in bulk Upsert persons in bulk in Gainsight NXT
Screen by UnifyApps
Unify AutomationsAirtable
Unify IntegrationsIntegrate your app with Airtable to organize data, automate workflows, and create custom databases tailored to your needs
Airtable is a flexible platform that combines the simplicity of a spreadsheet with the power of a database for easy data organization and collaboration. Integrating your application with Airtable empowers you to create custom databases, streamline data management, and collaborate seamlessly with your team. Authentication Ensure you have the following information ready for a seamless integration process: Connection Name : Select a descriptive name for your connection, like "MyAppAirtableIntegration". This helps in easily identifying the connection within your application or integration settings. Authentication Type : Airtable supports the following type of authentication for connecting to your Airtable account: API Token OAUTH 2.0 Access Token Based Authentication L ogin into Airtable account and click on the profile icon at the top right corner. Navigate to the builder hub In Personal Access token section, click on the “ Create new token ” button Provide the name and the required scopes for performing action based on your use case and click on “ Create Token ” Treat this token with high confidentiality, as it allows access to your Airtable account. OAUTH 2.0 Based Authentication L ogin into Airtable account and click on the profile icon at the top right corner. Navigate to the developer hub In Oauth Integrations section, click on the “ Register New OAuth integration ” button Provide the “ Name ” and the “ OAuth Redirect URL ” The OAuth Redirect URL is the destination to which users will be redirected after authorizing their integration. Then click on the “ Register integration ” button After registration fill out the details as mentioned, Note down the Client ID and also generate a client secret by clicking on the “ Generate client secret ” and save it to form a connection Then select the scopes you wish to expose through this connection Actions Actions Description Create comment Create a comment on a record in Airtable Create field Create field in Airtable Create record Creates record in Airtable Delete comment Delete a comment on a record in Airtable Delete multiple records Delete multiple records in Airtable Delete record Deletes record in Airtable Get record Gets record from Airtable List records List records in Airtable Search records Search for records in Airtable Update comment Update a comment on a record in Airtable Update field Update field in Airtable Update record Updates a record in Airtable Upsert record Upsert a record in Airtable Upsert records (Batch) Upsert records in Airtable Triggers Triggers Description New record This trigger will be invoked when a new record is created in Airtable New/Updated Record This trigger will be invoked when a record is created or updated in Airtable Record and cell value changes This trigger will be invoked when a record and cell value changes in Airtable Field change Triggers when a field changes in Airtable
Carousel
Unify ApplicationsCreate engaging, interactive slideshows and content showcases with smooth navigation, automatic progression, and flexible content management using Carousel by UnifyApps.
Overview Carousel by UnifyApps delivers a dynamic, interactive slideshow component that enables you to showcase multiple pieces of content in an engaging, space-efficient format. This versatile component allows you to create compelling visual presentations, image galleries, product showcases, and content rotations that capture user attention while maintaining a clean interface design. Use Cases Product Showcases and E-commerce : Display multiple product images, features, or variations in a single container, allowing customers to browse through different views seamlessly while maximizing screen real estate. Content Highlights and Featured Items : Rotate through featured articles, testimonials, announcements, or promotional content to keep your interface fresh and draw attention to important information. Media Galleries and Portfolios : Create stunning visual presentations for photography, artwork, case studies, or project portfolios that allow users to explore content at their own pace. Dashboard Widgets and Data Visualization : Present multiple charts, metrics, or data views in a rotating format, perfect for executive dashboards or monitoring interfaces where space is premium. Component Configuration Carousel Structure The Carousel component organizes multiple slides into a navigable sequence with smooth transitions and intuitive controls for optimal user experience. Key Elements: Slide Container : Houses individual slides with content or media Navigation Controls : Arrow buttons for manual slide navigation Indicator Dots : Visual markers showing current position and total slides Auto-rotation : Optional automatic slide progression with configurable timing Content Configuration Configure the slides and media that will be displayed within your Carousel component. Content Settings: Type : Choose between Mapped (dynamic data-driven) or Static slide configuration Slides : Add, remove, and organize the sequence of carousel slides Slide 1 Slide 2 Slide 3 Data Source : Connect to external data for dynamic content population Primary Key : Define unique identifiers for mapped content Default Slide : Set which slide should be displayed initially Collect Child States : Gather interaction data from slide components Adding Carousel to Your Application The Carousel component integrates seamlessly into your application interface and can be configured within any container element. Implementation Steps: Navigate to your application builder interface Select the parent container where you want to add the carousel (e.g., Stack, Body, Section) Click " Add Component " and search for " carousel " Select the Carousel component from the Repeatables section Configure your carousel content and slides Customize appearance and behavior settings Appearance Configuration Tailor the visual presentation of the Carousel component to align with your application's design language and enhance user engagement. Appearance Settings: Autoplay : Enable automatic slide progression with customizable intervals Loop : Allow continuous cycling through slides (seamless transition from last to first) Navigation Buttons : Toggle visibility of previous/next arrow controls Slides per View : Configure how many slides are visible simultaneously Gap : Adjust spacing between slides for optimal visual separation Visibility : Control when and how the carousel appears to users Layout : Configure positioning, dimensions, and responsive behavior Background : Customize backdrop styling and visual treatment Border : Define edge styling and visual boundaries Typical Content Types: High-resolution images and graphics Product photography and variations Video content and multimedia Text-based slides with rich formatting Mixed media presentations Interactive components and widgets Implementation Steps Plan Your Content: Identify the type of content to be displayed Determine optimal slide count and sequence Consider user interaction patterns and navigation preferences Plan responsive behavior a
Analytics by UnifyApps - 65gL6Nj4Ovk9tSR7FELm32
Unify AutomationsUnlock powerful insights with SQL queries, metadata aggregation, and exportable reports using Analytics by UnifyApps.
Overview Analytics by UnifyApps enables comprehensive data analysis and reporting capabilities. This means you can aggregate metadata, run SQL queries, and export reports in various formats (CSV, XLS or XLSX), making it perfect for generating insights, performance monitoring, and data-driven decision-making. Use Cases Customer Segmentation Analysis Run an Analytics Query to group customers by location or purchase history using projections like count or distinct count. This can help identify key demographics and tailor marketing efforts accordingly. Multi-Source Data Integration Aggregate data from various sources (e.g., user activity, transaction logs, product reviews) using SQL queries by using Execute Analytics SQL Query . Join tables across multiple platforms to identify patterns and correlations, such as understanding how customer behavior correlates with product sales over time. Automated Quarterly Budget Reports A finance team automates the generation of quarterly budget reports using the Export Reports action. By setting time ranges and defining projections, they export summarized financial data (like revenue and expenses) in XLSX format. The reports are then shared with stakeholders for review, ensuring timely, accurate data for decision-making, and saving manual report-generation time. Retrieving Metadata for Specific Fields A user working within the Platform group wants to gather detailed metadata for fields such as Customer_Name, Customer_Age, and Customer_Location. They utilize the Aggregate Metadata action and specify these fields in the Add ID section. Aggregate Metadata The Aggregate Metadata action in Analytics by UnifyApps enables users to retrieve and explore detailed metadata for data fields within a specific object. It provides crucial insights into field properties such as whether they are sortable, filterable, searchable, or updatable, helping users better understand their dataset structure and enabling more efficient data handling. Input Fields: Group : Select between Storage or Platform to determine the data context. Base Report : Choose the object to query for metadata. Add ID : Specify the field name for metadata extraction. Query : Enter a partial field name to retrieve related metadata. For example, entering "Cus" returns fields like Customers_Profile . Page : Configure pagination with Offset and Limit. Sortable : Enable if you want to retrieve fields that are sortable. Filterable : Enable if you want to retrieve fields that are filterable. Output: The action returns detailed metadata for each field, including: Aggregation Field Type Display Name Entity Type Field Type Sortable, Filterable and Searchable Updatable Name Field This action simplifies data exploration, particularly for large datasets, by allowing users to understand field properties quickly without needing to manually search through the data. Analytics Query The Analytics Query action in Analytics by UnifyApps enables users to fetch, process, and analyze data from a selected base report. This action provides powerful querying capabilities, including grouping, filtering, and projecting data, along with aggregation and percentage-based calculations. Input Requirements: Select Group : Choose between Platform or Storage to define the data grouping. Select Base Report : Choose the base report object. Select Projections: Choose fields and apply aggregation functions like Count, Sum, Min/Max, Percentage Contribution, or even custom operations. Assign aliases to projections for clarity. Optionally, calculate percentage changes. Select Additional Projections : Add supplementary projections with similar options for fields, aggregation, and percentage change inclusion. Time Range : Define a time field for the query. Specify start and end times, including previous periods for comparison. Filter : Create conditions using fields and values to filter data efficiently. Add multiple conditions or condition groups for complex queries. Search Object : Spe
AS2
Unify IntegrationsIntegrate your app with AS2 to enable secure, reliable, and encrypted data exchange for B2B communications.
AS2 (Applicability Statement 2) is a protocol that securely transmits business data over the internet using HTTP/S. It ensures confidentiality, integrity, and authenticity through encryption, digital signatures, and message receipts. Integrating AS2 ensures secure, reliable, and cost-effective data exchange, enhancing compliance and interoperability with business partners. Authentication Before integrating AS2, ensure you have the following information: Connection Name : Choose a descriptive name for your AS2 connection to help you identify it within your application or integration settings. A meaningful name, like "MyAppAS2Integration," helps maintain organization, especially when managing multiple integrations. Sender AS2 ID : The AS2 ID of the sender. A unique identifier used to establish the identity of the sender. Sender Email : The email address associated with the sender. This is typically used for communication or notifications related to AS2 transmissions. Private key : RSA client key in .pem format. Needed if you want to send encrypted messages. Client certificate : X509 client certification in .pem format. Needed if you want to send signed messages. Actions Actions Description Send AS2 message Send AS2 message to receiver and get MDN response Triggers Triggers Description On new message AS2 server for receiving messages
Formula Suggestions
Unify AutomationsLet's explore various formulae supported by UnifyApps
Overview Formulas by UnifyApps are expressions used to perform calculations, manipulate data, and automate tasks. They enable users to process numerical data, text, dates, and logical conditions to derive results efficiently. Why Do We Need Formulas? - Automation : Repeated manual calculations are tedious and error-prone. Formulas help automate these tasks, ensuring accuracy and consistency. - Data Analysis : Formulas allow users to analyze large datasets by calculating averages, sums, percentages, and more to derive insights. - Efficiency : Formulas offer speed for complex calculations, accuracy by reducing human error, scalability to handle large datasets, and flexibility with a wide range of mathematical, statistical, and logical functions. - Logical Operations : Excel formulas allow for conditional evaluations, such as checking if values meet certain criteria ( IF() , AND() , OR() ). How to use formulas in automation ? A formula can be invoked by using an equals sign (=) and may contain: Operators like + , - , * , / for mathematical operations. Node field references to work with values from specific automation nodes. Functions like SUM() , LEN() , NOW() to perform predefined calculations. Example In this use case, we are sending messages to our internal Slack channel for all Zendesk support tickets that have not yet been acknowledged. Workflow Overview: Hourly Scheduler : A scheduler runs every hour, fetching all ticket IDs from the object that were created in the last hour. Comment Check : For each ticket, the system checks whether any comments are present. Slack Notification : If a ticket has no comments, a message is posted to our internal Slack channel. Formulas Used : NOW() : Retrieves the current date and time to identify tickets created in the last hour. INT() : Converts numeric values into integers as ticket id is stored in string format in object. LEN() : Checks the length of comments to verify if any comment is posted on ticket or not CONCAT() : Combines different text elements, such as ticket details, to form the message for Slack. Supported Formulae Formula Description Supported data types Syntax LEN Returns the length of the string, array text/array LEN( 📦 Order ID ) ABS Returns the absolute value of a number number ABS( 💰 Amount ) ACOS Returns the arccosine of a number number ACOS( 📊 Cosine Value ) ACOSH Returns the inverse hyperbolic cosine of a number number ACOSH( 📈 Hyperbolic Cosine ) ADDRESS Returns a cell reference as text row column ADDRESS( 🔢 Row 🔠 Column ) AND Returns TRUE if all arguments are TRUE logical1, [logical2, ...] AND( ✅ Condition 1, ✅ Condition 2 ) AREAS Returns the number of areas in a reference reference AREAS( 📍 Cell Range ) ASIN Returns the arcsine of a number number ASIN( 📊 Sine Value ) ASINH Returns the inverse hyperbolic sine of a number number ASINH( 📈 Hyperbolic Sine ) ATAN Returns the arctangent of a number number ATAN( 📊 Tangent Value ) ATAN2 Returns the arctangent from x- and y-coordinates list of numbers ATAN2( 📏 X-Coordinate 📐 Y-Coordinate ) ATANH Returns the inverse hyperbolic tangent of a number number ATANH( 📈 Hyperbolic Tangent ) AVEDEV Returns the average of the absolute deviations of data points from their mean number1, [number2, ...] AVEDEV( 🔢 Number 1 🔢 Number 2 🔢 Number 3 ) AVERAGE Returns the average of its arguments number1, [number2, ...] AVERAGE( 💯 Score 1 💯 Score 2 💯 Score 3 ) AVERAGEA Returns the average of its arguments including numbers text and logical values value1, [value2, ...] AVERAGEA( 📊 Value 1 📊 Value 2 📊 Value 3 ) CEILING Rounds a number up to the nearest integer or multiple of significance number CEILING( 🔢 Number ) CHAR Returns the character specified by a number number CHAR( 🔢 ASCII Code ) CHOOSE Chooses a value from a list of values index_num, value1, [value2, ...] CHOOSE( 🔢 Index 📊 Value 1 📊 Value 2 📊 Value 3 ) CLEAN Removes all non-printable characters from text text CLEAN( 📝 Text ) CODE Returns a numeric code for t
Google Forms
Unify IntegrationsGoogle Forms Google Forms integration allows your application to seamlessly collect, manage, and analyze data within Google Workspace. Using secure authentication and the Google Forms API, you can programmatically create forms, add or update questions, collect responses, and trigger automated workflows based on submissions. Authentication: Connecting your application with Google Forms enables you to utilize its APIs to dynamically create surveys, manage questions, retrieve responses, and trigger actions based on submitted data. Before you begin, ensure you have the following information: Connection Name : Choose a meaningful name for your connection. This name helps you identify the connection within your application or integration settings. It could be something descriptive like "MyAppGoogleFormsIntegration". Authentication Type : Google Chat supports three types of authentications. They are : Service Account OAuth with Client Credentials OAuth Create a Project in Google Cloud Console : Visit Google Cloud Console to create a project. Service Account Based: Create a service account by following these steps . Add domain-level access to the service account (based on client ID) by following these steps . Use the service account email, private key, required scopes, and a sample user email to authenticate the connection. OAuth with Client Credentials Based: Create an OAuth Client Credentials by following these steps . Select the scopes required. Use the Client ID and Client secret generated, press the Authorise button. You’ll be redirected to a Google sign-in page. Google will display a permissions request screen, showing the app name and the specific Google services we are requesting access to. Carefully review the permissions being requested. If you’re comfortable with them, click the "Allow" or "Grant Access" button. If you're not already logged into Google, enter your Google account credentials and Sign in. After granting access, you will be automatically redirected back to our platform, where you should see a confirmation message indicating that your Google account is now connected and authorized. OAuth Based : Press the Authorise button. You'll be redirected to a Google sign-in page . If you're not already logged into Google, enter your Google account credentials. Google will display a permissions request screen. You'll see our app name and the specific Google services we request access to. Carefully review the permissions we're asking for. If you're comfortable with the permissions, click the "Allow" or "Grant Access" button. After granting access, you'll be automatically redirected back to our platform. You should see a confirmation message that your Google account is now connected. SCOPES : Scope code Description https://www.googleapis.com/auth/forms.body See, edit, create, and delete the content and structure of your Google Forms. https://www.googleapis.com/auth/forms.body.readonly View the content and structure of your Google Forms. https://www.googleapis.com/auth/forms.responses.readonly View responses from your Google Forms. ACTIONS : Action Name Description Add questions Adds questions in Google Forms Create form Creates a form in Google Forms Get records Gets form records from Google Forms List form responses List responses for a form in Google Forms Search record Searches for records in Google Forms TRIGGERS : Trigger Name Description On forms responses Triggers when a response was submitted in Google Forms
Infor
Unify IntegrationsInfor helps teams efficiently manage enterprise operations by centralizing ERP, finance, supply chain, and HR data in one cloud platform. It offers flexible customization and automation to align with unique business processes and improve productivity. With real-time insights, strong security, and seamless integrations, Infor enables better collaboration and smarter decision-making across teams. Authentication: Integrating your application with Infor enables seamless ERP workflow automation, secure data access, and improved operational efficiency. Before starting, ensure you have the following information: Connection Name : Choose a meaningful name for your connection. This name helps you identify the connection within your application or integration settings. It could be something descriptive like "MyAppInforIntegration". Domain : Enter the OAuth authentication domain associated with your Infor OS tenant. Client ID : Enter the OAuth Client ID generated from your Infor application. Client Secret : Enter the OAuth Client Secret associated with the Client ID. ACTIONS : Action Name Description Create a suggestion Creates a suggestion in Infor Disable a tool Disable tool in Infor Get tool list Gets tool list in Infor Semantic search tool Semantic search tool in Infor Update admin settings Updates admin settings in Infor Update a suggestion Updates a suggestion in Infor Bulk upload entity records Bulk upload data in the form of a json object Get buyer contract Gets buyer contract information from Infor Get Coleman AI order pattern anomaly count Gets Coleman AI order pattern anomaly count from Infor Get Coleman AI order pattern anomaly details Gets Coleman AI order pattern anomaly details from Info Get company inventory location Gets company inventory location information from Infor Create content record Create a content record Create entity record Creates an entity record in Infor CPQ Create record using BOD Create record using BOD Create record using IMSData Create record using IMSData Get CSD customer orders Gets list of customer orders from CSD from Infor CSI reqs for approval Fetches all requisitions which are pending for approval for logged in user from Infor Delete entity record Deletes an entity record in Infor CPQ Execute custom action or create child Execute a custom action for an entity or creates a child entity record Execute custom action over children Execute a custom action over the children of an entity record Execute entity action or create child record Executes a custom action for a system entity or creates a child entity record in Infor CPQ Execute entity custom action Executes a custom action over a list of entity records in Infor CPQ Get children of entity record Get the children of an entity record Get content record by entity Get the content record referenced by an entity record's content field Get content record by id Get a content record by id Get content record name by id Get the name of a content record by id Get entity children Gets the children of a system entity record in Infor CPQ Get entity record Gets a single entity record from Infor CPQ Get entity records Gets a list of entity records from Infor CPQ Get system entity Gets a system entity record from Infor CPQ HRTalent find candidate by name Finds candidate by name in HRTalent from Infor HRTalent find employee by name Finds employee by name in HRTalent from Infor HRTalent find employee contact Finds employee contact information in HRTalent from Infor Invoice matching feasible Checks if invoice matching is feasible from Infor Execute RPA job Executes a given job Get RPA job by GUID Retrieves information of a job with the provided GUID Get RPA jobs list Gets a list of jobs of the given type and environment Get RPA process by GUID Get details of the process with the given GUID Get RPA processes list Get a list of processes for a given environment Update content record Update a content record Update entity record Updates a single entity record in Infor C