New
Using the AI Analyst ✨
Learn how to use the AI Analyst, your spreadsheet copilot.
New
Marketing Analytics Glossary
In this glossary we define the main terms related to Marketing Analytics, providing details and practical examples.
New
New Users
In this article, we will define what are the New Users in Google Analytics 4 and explain how to track them with Rows.
New
What's Rows
Want to know why we exist? What Rows is? What sets us apart?
New
Exit rate
In this article, we will define what is the Exit Rate in Google Analytics 4 and explain how to track it with Rows.
Spreadsheet basics
Learn basic spreadsheet terminology and concepts such as the difference between functions and formulas, as well as cells, ranges and data types.
New
Average Engagement Time
In this article, we will define what is the Average Engagement Time in Google Analytics 4 and explain how to track it with Rows.
Signing up and Signing in to Rows
Learn how to sign up and sign in to Rows using Google authentication or by entering your email address.
How to install Rows as an App
Learn how to install the Rows Progressive Web App using Chrome from desktop or Safari on mobile.
How to use OpenAI's ChatGPT in Rows
Learn how to use OpenAI inside the spreadsheet to automate tasks like summarization, classification, or translation.
New
User Stickiness
In this article, we will define what is User Stickiness (i.e. User Retention) in Google Analytics 4 and explain how to track it with Rows.
Creating Data Tables
Take the result of any integration-related function and turn it into an easy-to-read table.
Editing Tables and Pages
Learn how to perform standard editing tasks such as reordering and renaming tables.
New
Content Grouping
In this article, we will define what is Content Grouping in Google Analytics 4 and explain how to implement it with Rows.
New
Engagement Rate
In this article, we will define what is Engagement Rate in Google Analytics 4 and explain how to track it with Rows.
New
Channel Grouping
In this article, we will define what is Channel Grouping in Google Analytics 4 and explain how to use it in Rows.
New
Engaged Sessions
In this article, we will define what are the Engaged Sessions in Google Analytics 4 and explain how to track them with Rows.
New
Bounce Rate
In this article, we will define what is the Bounce Rate in Google Analytics 4 and explain how to track it with Rows.
New
Path Exploration
In this article, we will explain what is Path Exploration feature in Google Analytics 4.
Different Charts in Rows
A list of the chart types that we currently support.
New
Average Order Value
In this article, we will explain what is Average Order Value in GA4 and how to track it in Rows.
Getting to know the spreadsheet editor
Create a simple empty spreadsheet and get to know the spreadsheet editor.
Rows for Advanced users
Rows is great for Advanced users - learn how to work with APIs, manipulate JSON, and use multiple integrations.
New
Add to Cart
In this article, we will define what is Add to Cart in Google Analytics 4 and explain how to track it with Rows.
Importing CSV, XLSX, XLS and GSheets files
Learn how to import data from other sources such as Google Sheets or a CSV file.
Find and Replace data on the editor
Learn how to find and replace data on the spreadsheet editor.
Selecting cells and inserting cell references into formulas
Learn how to automatically insert cell references into your formulas and understand the limitations of the point-and-click feature.
Organizing your integrations
Want to know what integrations you've got currently connected? Want to change their name?
Working with Integration Tasks
Want to know what an Integration Task is? How they’re counted? When they reset?
Authenticating your API calls
Learn about authentication in APIs: the different types, how to use them, and how to read API documentation to find what you need.
How do you store the data in my spreadsheets?
Where we store and back up your data.
Using Data Actions
Learn how you can easily set up Data Actions like integrations, web requests or other functions.
Roles and Permissions
Understand the roles and privileges that you can configure in Rows.
Using workspaces to collaborate
Configure what spreadsheets different teams can see and invite people to collaborate.
How to embed Tables and Charts
Learn how to embed your spreadsheet Tables and Charts anywhere on the web.
Understanding the difference between Edit and View mode
A introduction to Edit and View mode—the two main modes of a spreadsheet that you can share with others.
Sharing your spreadsheets
Learn how to share your spreadsheet with other editors or share a view that only exposes certain parts of your spreadsheet.
New
Session Duration
In this article we examine what's Session duration and how to track it with Rows.
Optimizing Integration Task usage
Want some tips to make your task limit go a bit further?
Getting data from any API using http GET
Let's learn about the HTTP GET request to retrieve data from any API using Rows.
Using Integrations
Learn about how to connect and use integrations in Rows.
Is Rows GDPR compliant?
In short: Yes 🙂
Unlocking Productivity with Rows on Puter
Discover Rows on Puter: The perfect productivity duo.
How to connect Bank Accounts in Rows
Learn how to use the Bank Accounts integration and its actions to import balance and transactions directly within Rows spreadsheets using Plaid.
Using HubSpot with Rows
Learn how to use the HubSpot integration and its functions to import and export companies, deals, and contacts directly within Rows spreadsheets.
Expanding data cells and Insert to other tables
Learn how to automatically insert data from JSON or other tables using OVERWRITE(), INSERT(), and UPDATE().
Harnessing the Power of Notion with Rows
Sync your Notion databases directly with Rows
How to use Connectors with Rows
A quick guide on what Connectors are and what you can achieve with them alongside Rows
Table of Contents: Marketing Playbook
Learn how marketers use Rows to set up ads reports, build Google Analytics and Search Console dashboards and monitor social media activity.
Using BigQuery with Rows
Learn how to use the BigQuery integration and its functions to query your tables using SQL directly within Rows spreadsheets.
Who are your subprocessors?
What subprocessors we use and why.
Understanding the difference between Tables and Forms
Learn the important differences between Tables and Forms and how they behave in view mode.
Adding interactive action elements and form fields
Learn how to add fields such as buttons, text fields, checkboxes and date pickers.
Inserting and editing charts
Learn how to turn your spreadsheet data into visually appealing charts.
Saving charts as images
Learn how to save and export charts as images.
How to set up a Google Ads report
Learn how marketers use Rows to build a Google Ads report: track impressions, clicks, CTR and all cost metrics CPC, CPM, ROAS per campaign and over time.
How to set up a Facebook Ads report
Learn how marketers use Rows to build a Facebook/Instagram Ads report: track impressions, clicks, CTR and cost metrics CPC, CPM, ROAS per campaign and over time
How to set up a LinkedIn Ads report
Learn how marketers use Rows to build a LinkedIn Ads report: track impressions, clicks, CTR and all cost metrics CPC, CPM, ROAS per campaign and over time.
Using QUERY and understanding the Query Language
Filter and transform data from a range of cells using an SQL-like language.
How to build campaign tracking URLs
Learn how to use Rows to build and keep track of tracking URLs of your ads campaigns
How to measure your Facebook and Instagram posts' performance
Learn how marketers use Rows to build a report that measures Facebook and Instagram posts' performance, including reach, impressions, clicks, likes and shares
How to track your follower base growth
Learn how to build a dashboard to monitor your follower base growth on Facebook, and LinkedIn
How to measure your LinkedIn posts performance
Learn how marketers use Rows to build a report that measures LinkedIn posts' performance, including reach, impressions, clicks, likes and shares.
Table of contents: Founders Playbook
Learn how founders use Rows to tackle their tasks, such as fundraising, cap table management, finance and budgeting, employee equity allotment.
How do you manage security?
How we store your personal and spreadsheet data.
How to build your company's cap table
Learn how founders can use Rows to build cap table. Track all the shares issued in your startup funding rounds, monitor dilution, valuation and potential exits.
Sending data to a webhook in Rows
Learn how you can send data to a webhook using Rows functions
How to monitor your growth experiments with Google Analytics
Learn how to build a report to monitor the results of your growth experiments, with Google Analytics
How to set up a custom traffic report with Google Analytics
Learn how marketers use Rows to build a custom traffic report with Google Analytics, tracking views, bounce rates and conversions, across any dimension.
How to monitor your website search performance with Search Console
Learn how marketers use Rows to build a search performance report with Google Search Console. Track pages impressions, clicks and average position in the SERP.
How to track keywords' performance with Search Console
Learn how to build a report that tracks the keywords' performance, combining Google Search Console and Rows.
How to audit your website loading performance with PageSpeed
Learn how to build a report of your website's loading performance with PageSpeed, all in a spreadsheet.
How to track your competitors website loading performance with PageSpeed
Learn how marketers use Rows to measure competitors’ website loading performance with Google PageSpeed.
How to assess the impact of your next funding round
Learn how founders can use Rows to calculate the impact of a funding round on the startup cap table, including valuation, dilution and new shares to issue.
Filtering data with functions FILTER and FILTER_COLUMNS
Learn how to use the FILTER and FILTER_COLUMNS functions to build specific views on your data.
How to track your ESOP vesting and allotment
Learn how startup founders can use Rows to track the vesting and allotment process of their employee equity plan (ESOP).
Debugging integration connections
A few ways in which you can try and identify what's causing an integration function to error out.
Creating Tables from complex data structures
An introduction to UNNEST and FLATTEN and how they can help you optimize complex data structures for better-looking Tables.
Using AUTOFILL to automatically fill a row or column
Use the `AUTOFILL` function to apply the same formula to each row in a neighboring table—even when the table changes dynamically.
Creating scheduled and repeating tasks
How to schedule and repeat certain tasks at regular intervals.
How to track your on-page SEO content elements
Learn how to keep track of all main on-page SEO content elements
How to build a cohort analysis
Learn how founders can use Rows to build a cohort analysis for a startup, to investigate users performance and retention rate over time.
Google Sheets vs Rows
Learn what makes Rows different from Google Sheets with practical examples for everyday users
How to plan and track your growth experiments
Learn how to use Rows to track your growth experiments
How to plan your link building activity
Learn how to use Rows to plan your link bulding activity
Managing your integrations and switching accounts
How to review your active integrations, disconnect ones you don't need, and use multiple accounts.
How to plan and track your fundraising activity
Learn how founders use Rows to track fundraising activity: input contacts with Venture Capitalists, feedback, negotiation phase, investment amount.
New
Version history and restore
Learn how to manually create, view auto-saved & restore versions of a spreadsheet.
Switching to Rows from another (lamer) spreadsheet
How to adjust to Rows if you're used to other spreadsheet applications such as Microsoft Excel or Google Sheets
Creating a GET request
How to make HTTP GET requests with the GET function.
Authenticating your API requests
How to authenticate your API requests and understand the different authentication methods.
Parsing JSON
How to parse and select JSON data in Rows.
Filtering JSON responses with JSONPath
How to use advanced JSONPath to get and filter for specific data points.
Modifying the structure of a JSON response
How to modify JSON objects so that they match exactly what you need.
Sending data to an API
Learn how to send information to an API using POST or PUT.
Managing multiple integrations
Learn about how to use two or more of the same integration at the same time.
Making your spreadsheets live
Learn how to publish your spreadsheets so you can share them with the world!
How to embed Tables and Charts in Notion
Learn how to embed your spreadsheet Tables and Charts in Notion.
How to embed Tables and Charts in Confluence
Learn how to embed your spreadsheet Tables and Charts in Confluence.
How to embed Tables and Charts in Slab
Learn how to embed your spreadsheet Tables and Charts in Slab.
How to embed Tables and Charts in Slite
Learn how to embed your spreadsheet Tables and Charts in Slite.
How to embed Tables and Charts in Softr
Learn how to embed your spreadsheet Tables and Charts in Softr.
Inserting and editing pivot tables
Learn how to easily insert and edit pivot tables, transforming your spreadsheet data into organized and insightful summaries.
How to use OpenAI's ChatGPT for SEO
Learn how to use OpenAI inside the spreadsheet to generate keywords, meta descriptions and other SEO activities.
How to use OpenAI's ChatGPT for content redaction
Learn how to use OpenAI's ChatGPT to redact content, including summarization, translation, and rewriting capabilities
How to use OpenAI's ChatGPT for data extraction
Learn how to use OpenAI's ChatGPT to extract concepts or portion from a text.
How to use OpenAI's ChatGPT for keyword research
Learn how to use OpenAI inside the spreadsheet to generate keywords, translate them, find common misspellings and more.
How to use OpenAI's ChatGPT for sentiment analysis
Learn how to use OpenAI's ChatGPT for sentiment analysis. Discover step-by-step instructions and tips to effectively analyze sentiments using ChatGPT.
How to use OpenAI's ChatGPT to classify customer feedback
Learn how to use OpenAI and GPT-3 inside the spreadsheet to classify customer feedback in Customer Support and Customer Success operations.
How to use OpenAI's ChatGPT to clean up data
Learn how to use OpenAI inside the spreadsheet to clean up company data, convert dates, capitalize text and more.
How to use OpenAI's ChatGPT to create lists
Learn how to use OpenAI and GPT-3 inside the spreadsheet to create lists of data.
How to use OpenAI's ChatGPT to generate advertising content
Learn how to use OpenAI's ChatGPT to generate advertising content, such as Instagram captions or the headlines of your Facebook campaign.
How to use OpenAI's ChatGPT to generate product marketing content
Learn how to use OpenAI's ChatGPT to generate advertising content specific for your product, such as titles and descriptions.
How to replicate complex REGEX statements with OpenAI
Learn how to replace intricate REGEX with user-friendly language. Streamline workflow and enhance data manipulation effortlessly.
Geocoding and reverse geocoding with Google Maps APIs
Learn how to convert an address into a pair of coordinates or coordinates into an address
Send SMS with Infobip
Send SMS messages directly inside your spreadsheet
Send SMS with MessageBird
Send SMS messages directly inside your spreadsheet
Getting started overview
Get started quickly with the usual spreadsheet basics as well as some special features that you won't find anywhere else.
Using the Rows API
How to get data from or write data to your spreadsheets from other applications.
Using Rows and Zapier to automate tasks
How to send data into Rows spreadsheets using Zapier.
From Google Sheets API to Rows API
Are you using the Google Sheets API and would like to migrate your data jobs or applications to Rows?
How to connect Amazon Redshift with Rows
Learn how set up the connection between Amazon Redshift and Rows
How to connect MySQL with Rows
Learn how set up the connection between MySQL and Rows
How to connect PostgreSQL with Rows
Learn how set up the connection between PostgreSQL and Rows
How to connect Snowflake with Rows
Learn how set up the connection between Snowflake and Rows
Sharing data between two spreadsheets
How to get data from one Rows spreadsheet into another
Using Rows and Make to automate tasks
How you can use the Make integration to get data from and to Rows
New
Using the spreadsheet as an API
How to use Rows spreadsheets as an API for your website or platform. Send inputs and receive the computed output values in the response.
New
Using Rows spreadsheets on demand managed through Rows API
How to manage Rows spreadsheets through Rows API to create on-demand spreadsheets programmatically for your customers and business partners.
New
Filtering and sorting
Filtering and Sorting tables
Up and downgrading subscription tiers
Want to know how to upgrade or downgrade your subscription?
Billing methods
Want to know what payment methods we support? How to update payment details? Find your invoices?
Connect Looker Studio to Rows spreadsheets
How to connect Looker Studio to a Rows spreadsheet table or range
New
Quick Commands
Quick Commands let you easily access useful global or contextual actions within the Rows app.
Connect Power BI to Rows spreadsheets
How to install Rows Power BI connector to a Rows spreadsheet table or range
Viewing your account usage
Want to check which integration you use the most? Or perhaps statistics per spreadsheet?
New
How to use RowsX
Learn how to install and use RowsX to scrape tables from thousands of websites in one-click
How do you track data in my spreadsheets?
We keep tracking to the minimum and are transparent about how we use it.
Using templates
Learn how to search for, install, and use templates.
Drag to fill
Use the traditional drag to fill or our new AI-powered drag to fill.
Keyboard shortcuts
Format, access, navigate and do so much more - all from the ease of your fingertips!
Platform limits
To give you the best experience using Rows, we have a few limits in place for now.
GET_AD_METRICS_GOOGLE_ADS
Get insights about your ads from Google Ads.
HMAC_SHA256
Converts text using SHA256 and a secret key.
GET_TRANSACTIONS
Retrieve your bank account transactions by date and account. Use this function to monitor financial activity over a specific period.
LOOKUP
Looks for a key in a single row or column sorted in ascending order and returns a corresponding value from another single row or column.
GET_LISTS_MAILCHIMP
Get your Mailchimp lists.
GET_SUBSCRIBERS_MAILCHIMP
Get all subscribers that belong to a Mailchimp List.
GET_LIST_MAILCHIMP
Get the key statistics and information of a Mailchimp list.
SEARCH_OBJECTS_ADVANCED_SALESFORCE
Search for Salesforce objects with a SOQL query.
SEARCH_LEADS_SALESFORCE
Search for existing leads on Salesforce.
SEARCH_CONTACTS_SALESFORCE
Search for existing contacts on Salesforce.
SEARCH_ACCOUNTS_SALESFORCE
Search for existing accounts on Salesforce.
SEARCH_OPPORTUNITIES_SALESFORCE
Search for existing opportunities by their name, stage name, and close date on Salesforce.
GET_DEAL_ACTIVITIES_PIPEDRIVE
Get the activities associated to a Pipedrive deal.
GET_PERSON_DEALS_PIPEDRIVE
Get the deals associated with a Pipedrive person.
GET_ACTIVITIES_PIPEDRIVE
Get all your activities in Pipedrive.
GET_PERSON_ACTIVITIES_PIPEDRIVE
Get the activities associated with a Pipedrive person.
GET_ORGANIZATION_ACTIVITIES_PIPEDRIVE
Get the activities associated with a Pipedrive organization.
GET_ORGANIZATION_DEALS_PIPEDRIVE
Get the deals associated with a Pipedrive organization.
GET_ORGANIZATION_PERSONS_PIPEDRIVE
Get the people associated with a Pipedrive organization.
GET_ACTIVITY_PIPEDRIVE
Get all the details of a Pipedrive activity.
SEARCH_PERSONS_PIPEDRIVE
Search for one or more people on Pipedrive.
SEARCH_ORGANIZATIONS_PIPEDRIVE
Search for organizations on your Pipedrive.
SEARCH_DEALS_PIPEDRIVE
Search for Pipedrive deals.
GET_CRM_RECORD_ZOHO
Retrieve detail of a Zoho record.
SEARCH_CRM_RECORDS_ZOHO
Get a list of your Zoho CRM records based on your query.
IF
Return a value if an expression is TRUE or FALSE
GET_PAGE_POSTS_METRICS_FACEBOOK
Get metrics about posts of your Facebook pages by providing the post ID. List first your posts and then get metrics such as clicks, impressions, and reactions.
GET_PAGE_METRICS_FACEBOOK
Get metrics such as impressions or reactions about your pages and aggregate results by day, week or month.
ROWS
Counts rows in the specified range or array, returning an integer value. If the input is empty, the function returns 0.
GET_ACCOUNT_METRICS_INSTAGRAM
Get metrics such as impressions or reach about your accounts and aggregate results by day, week or month.
GET_CAMPAIGN_METRICS_TIKTOK_ADS
Insights about your TikTok Ads campaigns.
GET_ADGROUP_METRICS_TIKTOK_ADS
Insights about your TikTok Ads ad group.
GET_ACCOUNT_METRICS_TIKTOK_ADS
Insights about your TikTok Ads account.
GET_AD_METRICS_TIKTOK_ADS
Insights about your TikTok Ads.
GET_BALANCE
Retrieve the current balance of your bank account. Use this to monitor the available balance for individual sub-accounts or all accounts.
GET_ACCOUNT_POSTS_METRICS_INSTAGRAM
Get the latest posts and metrics from your account.
ADD_DATABASE_PAGE_NOTION
Add a child page to an existing Notion Database.
NA
Returns the #N/A error value, representing "not available."
GET_METRICS_GOOGLE_ANALYTICS_4
Get a report with Google Analytics 4 metrics within a date range. Dimensions and filters are also available.
GET_ADSET_METRICS_FACEBOOK_ADS
Get metrics such as clicks, CPC, CTR, and CPM about your Ad Sets by date.
GET_AD_METRICS_FACEBOOK_ADS
Get metrics such as clicks, CPC, CTR, and CPM about your Ads by date.
GET_ACCOUNT_METRICS_FACEBOOK_ADS
Get metrics such as clicks, CPC, CTR, and CPM about your Ad accounts by date.
GET_CAMPAIGN_METRICS_FACEBOOK_ADS
Get metrics such as clicks, CPC, CTR, and CPM about your Ad campaigns by date.
GET_PAGE_METRICS_LINKEDIN
Get metrics of your pages by date and aggregate results by day, week or month.
GET_WEBSITE_PERFORMANCE_GSEARCH_CONSOLE
Analyze your site's performance from Google search results, including impressions, clicks, position and more.
TEXTJOIN
Combine the text from multiple ranges/arrays using a delimiter. It can ignore empty cells.
GET_ACCOUNT_INSIGHTS_LINKEDIN_ADS
Get metrics such as clicks, impressions, reactions, and shares about your Ad accounts by date.
GET_CAMPGROUP_INSIGHTS_LINKEDIN_ADS
Get metrics such as clicks, impressions, reactions, and shares about your Ad campaigns groups by date.
GET_CAMPAIGN_INSIGHTS_LINKEDIN_ADS
Get metrics such as clicks, impressions, reactions, and shares about your Ad campaigns by date.
GET_AD_INSIGHTS_LINKEDIN_ADS
Get metrics such as clicks, impressions, reactions, and shares about your Account Ads by date.
OFFSET
Returns a reference to a range that is a specific number of rows and columns from a given cell or range.
MINIFS
Returns the smallest numeric value in a range that meets one or more given conditions, supporting multiple criteria and ranges.
MATCH
Get the relative position of a specified search key in a one-dimensional range of cells.
GET_KEYWORD_METRICS_GOOGLE_ADS
Get insights about search keywords.
ASK_OPENAI
Answer questions or complete tasks such as translation & copywriting. Uses OpenAI's machine-learning (ML) model.
GET_RECORDS_AIRTABLE
Get data columns from an Airtable base by defining the base ID, the table name, and the fields available on the table.
ADD_OR_UPDATE_RECORD_AIRTABLE
Add or update data columns in an Airtable base by defining the base ID, the table name, and the name of the columns.
GET_POSTS_TIKTOK
Get a list of the last 100 videos from your account.
GET_PAGE_POSTS_FACEBOOK
List posts from public pages and get their message, reactions, and URL.
GET_POSTS_LINKEDIN
List Linkedin posts from your pages and get their description, message, title, and URL.
GET_POSTS_INSTAGRAM
Get the 50 latest Instagram posts and metrics from a public account. The number of comments and likes are available.
REGEXREPLACE
Replaces part of a text string with a different text string using regular expressions.
TRIM
Remove spaces from the begging and the end of the string.
FROM_JSON
Converts a json string into a json object.
GET_COMPANY_OVERVIEW_ALPHAVANTAGE
Get company information, financial ratios and other key metrics for the equity specified. This finance data is generally refreshed on the same day a company reports its latest earnings and financials.
ISNUMBER
Checks whether a value is a number.
REPT
Returns specified text repeated a number of times.
SWITCH
Tests an expression against a list of cases and returns the corresponding value of the first matching case, with an optional default value if nothing else is met.
UNNEST
Turns any {data} into a tabular structure (2D), generating 1 row per combination of array elements.
UNIQUE
Lists unique rows/columns in the source {data} or range.
TO_TEXT
Format a value as a text string. The function accepts numbers, URLs, or JSON data.
SUBSTITUTE
Substitute all occurrences of one string with another.
SORT
Sort rows of an array or range by specified columns in ascending or descending order.
REMOVEARRAYS
Removes all nested arrays from a data structure. Use the exceptions to keep some of the arrays.
REBASE
Change {data} property names.
RANGE2JSON
Create a JSON array of objects from a range.
PAIR2JSON
Create a JSON object from data pairs.
PARSE
Parse JSON data.
JOIN
Join two data sources. The function will use values from the root of the JSON.
IFERROR
Get an alternative value in case of an error.
FLATTEN
Reduces a nested {data} structure into a flat list. All levels are flattened into one single row unless you specify a depth limit.
FILTER_COLUMNS
Filter columns of data from a source table or JSON array.
CONCATENATE
Concatenates multiple strings into one.
CONCAT
Concatenate two strings.
APPEND
Append two or more JSON {data} objects.
QUERY
Filter and transform data from a range of cells using an SQL-like language.
FILTER
Filter JSON data or ranges by a given condition.
APPLY_TASK_OPENAI
Use Open AI’s GPT model to clean up or apply logic rules to data.
TRANSLATE_OPENAI
Use AI to translate text between languages.
CLASSIFY_OPENAI
Use Open AI’s GPT model to classify text into tags, topics or sentiment.
PRODUCT_DESCRIPTION_OPENAI
Use Open AI’s GPT generate a product description from a set of features.
PRODUCT_TITLE_OPENAI
Use Open AI’s GPT model to generate a product title based on a description.
AD_CONTENT_OPENAI
Use Open AI’s GPT generate different types of advertising content from a product description.
KEYWORDS_MISSPELLING_OPENAI
Use Open AI’s GPT generate common misspellings from a list of keywords.
SUMMARIZE_OPENAI
Use Open AI’s GPT model to summarize a text into different types.
SENTIMENT_ANALYSIS_OPENAI
Use Open AI’s GPT model to run sentiment analysis on text.
META_DESCRIPTION_OPENAI
Use Open AI’s GPT model to generate meta description for a page, using a list of keyword.
EXTRACT_OPENAI
Use Open AI’s GPT model to extract an element from text.
FIND_FACT_OPENAI
Use Open AI’s GPT model to discover facts about a country, person, company or the world.
KEYWORDS_OPENAI
Use Open AI’s GPT generate advertising keywords from a product description.
REWRITE_OPENAI
Use Open AI’s GPT to rewrite a text according to user-defined instructions.
CEILING
Rounds a number up to the nearest multiple of a given significance factor.
FLOOR
Rounds a number down to the nearest multiple of a given significance factor.
GET_REVIEWS_GOOGLE_MY_BUSINESS
Get the latest reviews from your locations.
GET_LOCATIONS_GOOGLE_MY_BUSINESS
Get the details of your locations.
GET
Perform an HTTP GET on a URL and get the response.
GET_VIDEO_METRICS_TIKTOK
Get video metrics by video ID or URL.
GET_VIDEO_METRICS_YOUTUBE
Get the description and all available stats of a video.
SKEW
Returns the skewness of a distribution. Skewness characterizes the degree of asymmetry of a distribution around its mean.
QUARTILE
Returns the quartile of a data set. Quartiles divide the data set into four equal parts.
PERCENTILE
Calculates the value at a specified percentile in a range. The percentile (k) should be between 0 and 1, where 0 represents the minimum and 1 represents the maximum.
SEARCH_COMPANIES
Find companies based on the number of employees, location, and industry.
SEARCH_DEALS_HUBSPOT
List and get details about HubSpot deals.
SEARCH_CONTACTS_HUBSPOT
List and get details about contacts in your HubSpot.
SEARCH_COMPANIES_HUBSPOT
List and get details about companies in your HubSpot.
QUERY_REDSHIFT
Use SQL to query your Redshift tables.
QUERY_MYSQL
Use SQL to query your MySQL tables.
QUERY_POSTGRESQL
Use SQL to query your PostgreSQL tables.
QUERY_BIGQUERY
Use SQL to query your BigQuery tables.
IMPORT_TABLE_BIGQUERY
Import a table from a BigQuery dataset.
IMPORT_GOOGLE_SHEETS
Get cell values from spreadsheets from Google Sheets.
GET_DATABASE_NOTION
Return a report with all properties and values from a Notion Database.
GET_FOLLOWING_INSTAGRAM
Get the most recent number of users an Instagram account is following by providing its username.
GET_FOLLOWERS_INSTAGRAM
Get the most recent number of followers of a public Instagram account using its username.
GET_POST_METRICS_INSTAGRAM
Get metrics about posts of your Instagram accounts by providing the media ID. List first your posts and then get metrics such as engagement, impressions, and reach.
SEARCH_CHARGES_STRIPE
Search for payments of your Stripe account.
GET_FOLLOWER_GAIN_LINKEDIN
Get follower gain of your pages by date and aggregate results by day, week or month.
GET_ANALYTICS_REPORT_YOUTUBE
Get detailed insights about your YouTube channel.
GET_FOLLOWERS_FACEBOOK
Get the most recent number of followers of a public Facebook page using its username.
GET_FOLLOWERS_LINKEDIN
Get the most recent number of followers of a public Linkedin page using its URL or page name.
STOCK_SEARCH_ALPHAVANTAGE
Search for equity and other finance related data using a company name or symbol.
STOCK_INTRADAY_ALPHAVANTAGE
Get the intraday time series (open, high, low, close, volume) of an equity and other finance data.
FX_DAILY_ALPHAVANTAGE
Get the daily time series of an FX pair (timestamp, open, high, low, close) and other finance data.
FX_INTRADAY_ALPHAVANTAGE
Get the intraday time series for an FX pair (timestamp, open, high, low, close) and other finance data.
STOCK_DAILY_ALPHAVANTAGE
Get the daily time series (open, high, low, close, volume) of an equity and other finance data.
STOCK_DAILYADJUSTED_ALPHAVANTAGE
Get the daily adjusted time series (open, high, low, close, volume) of an equity and other finance data.
STOCK_MONTHLYADJUSTED_ALPHAVANTAGE
Get the monthly adjusted time series (open, high, low, close, volume) of an equity and other finance data.
CRYPTO_WEEKLY_ALPHAVANTAGE
Returns weekly time series (open, high, low, close, volume) of a cryptocurrency and other finance data.
STOCK_WEEKLY_ALPHAVANTAGE
Get the weekly time series (open, high, low, close, volume) of an equity and other finance data.
CRYPTO_INTRADAY_ALPHAVANTAGE
Gets intraday time series (timestamp, open, high, low, close, volume) of the cryptocurrency specified, updated realtime and other finance data.
CRYPTO_DAILY_ALPHAVANTAGE
Returns daily time series (open, high, low, close, volume) of a cryptocurrency and other finance data.
GET_CASH_FLOW_ALPHAVANTAGE
Get annual and quarterly cash flows of a company for the last 5 years and other finance data.
STOCK_WEEKLYADJUSTED_ALPHAVANTAGE
Get the weekly adjusted time series (open, high, low, close, volume) of an equity and other finance data.
FX_WEEKLY_ALPHAVANTAGE
Get the weekly time series of an FX pair (timestamp, open, high, low, close) and other finance data.
GET_BALANCE_SHEET_ALPHAVANTAGE
Get annual and quarterly balance sheets of a company for the last 5 years. This finance data is generally refreshed on the same day a company reports its latest earnings and financials.
FX_MONTHLY_ALPHAVANTAGE
Get the monthly time series of an FX pair (timestamp, open, high, low, close) and other finance data.
CRYPTO_MONTHLY_ALPHAVANTAGE
Returns monthly time series (open, high, low, close, volume) of a cryptocurrency and other finance data.
STOCK_ALPHAVANTAGE
Get the latest global quote for an equity and other finance data.
STOCK_MONTHLY_ALPHAVANTAGE
Get the monthly time series (open, high, low, close, volume) of an equity and other finance data.
FX_ALPHAVANTAGE
Get the real-time rates for an FX or Cryptocurrency pair and other finance data.
GET_INCOME_STATEMENT_ALPHAVANTAGE
Get annual and quarterly income statements of a company for the last 5 years. This finance related data is generally refreshed on the same day a company reports its latest earnings and financials.
GET_ACCOUNT_METRICS_TIKTOK
Get an overview report of your account.
GET_FOLLOWING_TIKTOK
Find the number of users your account follows.
GET_FOLLOWERS_TIKTOK
Get the number of followers of your account.
SCHEDULE
Schedule tasks to be executed at regular intervals.
UPDATE_DATABASE_PAGE_NOTION
Update a child page of an existing Notion Database.
GET_AD_GROUPS_METRICS_GOOGLE_ADS
Get insights about your ad groups from Google Ads.
GET_CAMPAIGN_METRICS_GOOGLE_ADS
Get insights about your Google Ads Campaigns.
EXPORT_TO_GOOGLE_SHEETS
Add or append cell values in Google Sheets spreadsheets.
UPDATE_GOOGLE_SHEETS
Update cell values in Google Sheets spreadsheets.
INDIRECT
Returns a cell reference specified by a string.
TEXT
Converts a number, date or time into text.
PAGESPEED_GOOGLE
Run a PageSpeed analysis on a URL.
AVERAGEIF
Returns the average of values in a range if they meet a criterion specified in another range.
AVERAGEIFS
Returns the average of values in a range if they meet multiple criteria specified in other ranges.
MID
Extracts a portion of a string, where the starting point and length are user-defined.
CUSTOM_SEARCH_RESTRICTED_GOOGLE
Provide a search term and ID of your Google Custom Search engine to restrict your search to specific site(s) defined in your Custom Search Engine.
LIST_CHANNELS_SLACK
Get a list of your Slack channels.
LIST_USERS_SLACK
Get a list of your Slack users.
FIND_COMPANY_VAT_VATSEARCH
Get a company's VAT number or its name.
VIEW_SMS_MESSAGEBIRD
Get the status of an SMS sent using MessageBird.
TRANSLATE_ALTERNATIVES_MICROSOFT
Get alternative translations for a word or an idiomatic phrase.
LANGUAGES_MICROSOFT
Get a list of the currently supported languages by the Microsoft Translator Text API.
DETECT_LANGUAGE_MICROSOFT
Detect the language of a text using the Microsoft Translator API.
TRANSLITERATE_MICROSOFT
Convert text in one language from one script to another script.
TRANSLATE_MICROSOFT
Translate a body of text from a source language to a target language using Microsoft Translator.
VIEW_SMS_INFOBIP
Get the status log of an SMS sent using Infobip.
VERIFY_EMAIL_FULLCONTACT
Verify the deliverability of an email address.
GET_PERSON_FULLCONTACT
Get details for a person using either their email address, Twitter handle, or phone number.
GET_COMPANY_FULLCONTACT
Get details about a company, given their domain.
GET_COMPANY_CLEARBIT
Get in-depth data about a company.
GET_PERSON_CLEARBIT
Get detailed info about a person.
GET_PERSONCOMPANY_CLEARBIT
Get detailed info about a person and their associated company.
TRANSLATE_DEEPL
Translate a body of text from a source language to a target language using DeepL.
SEARCH_GMAIL
Search for emails in your Gmail account by using queries.
GET_GMAIL
Get the content of an email from Gmail by using an ID. List first the emails to find the ID.
ARTICLES_NEWS_API
Find articles based on keywords, language, source, and date of publishing.
CUSTOM_SEARCH_GOOGLE
Search using a Google Custom Search engine.
DOMAIN_TECH_STACK_COUNTS_BUILTWITH
Get the tech stack counts by category for a given domain, including total number of CRMs or CMSs. Useful for lead and account scoring.
DOMAIN_KEYWORDS_BUILTWITH
Get the keywords connected with a given domain. Useful for SEO optimization or competitor tracking.
DOMAIN_INFO_BUILTWITH
Get details from a given domain, including company name, Majestic as well as Alexa ranks, contact details, and industry.
VERIFY_TECH_IN_DOMAIN_BUILTWITH
Verifies if a technology exists in a domain.
DOMAIN_TECH_STACK_BUILTWITH
Get the tech stack for a given domain, including what CRM, CMS, and helpdesk or CMS are used. Useful for lead and account scoring.
COUNT_EMAILS_HUNTER
Get the number of email addresses associated with a domain.
FIND_EMAIL_HUNTER
Get the email address of a person as well as the delivery confidence score.
VERIFY_EMAIL_HUNTER
Get the delivery confidence score for an email address.
SEARCH_DOMAIN_HUNTER
Provide a company name to get its domain or provide a company domain to retrieve emails of a specific department, such as "sales" or "marketing".
PLACE_DETAIL_GOOGLE
Get details about a place, such as phone numbers, opening hours, reviews, and more.
REVERSE_GEOCODE_GOOGLE
Get the address based on latitude and longitude coordinates.
NEARBY_SEARCH_GOOGLE
Get details about places within a specified location and according to your query.
GEOCODE_GOOGLE
Get the latitude and longitude coordinates for an address.
ELEVATION_GOOGLE
Get the elevation, in meters, for a given set of coordinates.
PLACE_SEARCH_GOOGLE
Get a list of places, along with their addresses, place IDs, ratings, and more, based on your search query.
DIRECTIONS_GOOGLE
Get directions according to you start and end locations. You can further define your search by choosing a mode of transportation or adding waypoints.
DISTANCE_MATRIX_GOOGLE
Get the recommended distance and time between start and end locations.
GET_ELEVATION
Get the elevation, in meters, for a given set of coordinates.
GET_DISTANCE_MATRIX
Retrieves the directions from all starting locations to all destination locations.
GET_GEOCODE
Get the latitude and longitude coordinates for an address.
GET_DIRECTIONS
Get directions according to your start and end locations. You can further define your search by choosing a mode of transportation or adding waypoints.
GET_REVERSE_GEOCODE
Get the address based on latitude and longitude coordinates.
SUBTOTAL
Returns the result of a specified aggregation function applied on a range of cells.
STDEVP
Calculates the standard deviation based on a population.
ISBLANK
Checks whether the referenced cell contains a value.
GET_COMPANY
Get company details based on their domain. Select a property value to get just one specific attribute of the company.
HYPERLINK
Generates a hyperlink inside a cell based on a URL and a user-defined label.
CHAR
Converts a code number to a readable character.
CODE
Returns a numeric code for the first character in a text string. The returned code corresponds to the character set used by your computer.
VERIFY_EMAIL_ZEROBOUNCE
Verify if an email is valid or not to avoid bounced emails.
GET_CONTACTS_FROM_LIST_HUBSPOT
Find contacts in a HubSpot list through its name.
REFRESH
Refresh cells periodically and recalculate their formulas.
REPEAT
Repeat the calculation or execution of a function in a specified cell periodically.
RANGE_CONTAINS
Check whether a value exists in a range.
PROPER
Title cases a given string, making the first letter of each word uppercase.
SUMIF
Sum a range based on one criterion.
COUNTIF
Count cells that meet certain criteria.
POW
Get one number raised to a power.
VLOOKUP
Search for a search key in the first column of a range and returns the value of a specified cell in the row corresponding to the search key.
IFS
Evaluates multiple conditions and returns the value that corresponds to the first true condition.
FORECAST
Calculates the expected y-value for a specified x-value, using linear regression on a given data sample.
SMALL
Returns the nth smallest element from a data set, where n is user-defined.
LARGE
Returns the nth largest element from a data set, where n is user-defined.
COVARIANCE_S
Calculates the sample covariance between two variables.
COVARIANCE_P
Calculates the covariance between two variables.
VAR_S
Calculates the variance of a sample.
VAR_P
Calculates the variance of a population.
SEARCH_DATABASES_NOTION
Return a list of Notion Databases with their structure and property names.
DATEINTERVAL
Create a date interval between two dates.
PATCH
Perform an HTTP PATCH on a URL with special parameters.
POST
Perform an HTTP POST on a URL with special parameters.
PUT
Perform a PUT request on a URL.
QUERY_SNOWFLAKE
Use SQL to query your Snowflake databases, schemas and views.
CORREL
Calculates r, the Pearson product-moment correlation coefficient of a dataset.
STDEV
Calculates the standard deviation based on a sample.
COUNTUNIQUE
Counts the number of unique values in a range.
COUNTBLANK
Counts the number of empty cells in a range.
SEARCH_PAYOUTS_STRIPE
Search for payouts of your Stripe account.
SEARCH_INVOICES_STRIPE
Search for invoices.
SEARCH_CUSTOMERS_STRIPE
Search for customers from your Stripe account.
SEARCH_SUBSCRIPTIONS_STRIPE
Search for subscriptions.
SEARCH_REFUNDS_STRIPE
Search for refunds.
AUTOFILL
Automatically fills the whole column with formulas based on the column on the left column or the range defined by you.
UPDATE
Updates or inserts data from ranges or {data} cells into a destination range.
SEARCH_VIDEOS_YOUTUBE
Search for videos in YouTube by keywords, location, etc.
GET_CHANNEL_METRICS_YOUTUBE
Get the description and all available stats of a channel.
WEEKNUM
Return a number representing the week of the year where the provided date falls.
EXECUTE
Executes a formula in a specified location.
BUTTON
Change the cell interaction type to BUTTON and executes the formulas when clicking on the button.
CLEAR
Clear the contents of a row, including any formulas.
FILL
Fill down a range by copying a row to a number of rows.
INSERT
Inserts data from ranges or {data} cells into a destination range.
OVERWRITE
Inserts data from ranges or {data} cells into a destination range. Overwrites all content in the destination with every execution.
EXPAND
Expands and adds {data} to a table. By default, the data is always replaced when the function is triggered. Use the mode parameter to change this behavior.
LIST_COMPANY_SECTORS
Get the list of available sectors of the companies in our database.
SEND_EMAIL
Send up to 20 emails/hour using Rows.
ACCOUNT
Uses a specific account or API key when calling an integration function. Useful when you have multiple accounts connected for the same integration.
GET_SUBSCRIPTION_ITEMS_STRIPE
Get the items of a subscription by their ID.
GET_PLANS_STRIPE
Get plans available on your Stripe account.
GET_TRANSACTION_DETAIL_STRIPE
Get the detail of a transaction by the ID of your charges or payouts.
SEND_GMAIL
Send an email using your Gmail account. You can use HTML formatting in the content of your email.
MESSAGE_CHANNEL_SLACK
Send a message to a Slack channel as the Slack app.
MESSAGE_USER_SLACK
Send a message to a Slack user as the dashdash Slack app.
XYLOOKUP
Search for a search key in the first column of a range and returns the value of a specified cell in the row corresponding to the selected column.
RATE
Calculates the interest rate of an annuity investment based on constant-amount periodic payments and the assumption of a constant interest rate.
IPMT
Calculates the payment on interest for an investment based on constant-amount periodic payments and a constant interest rate.
IRR
Calculates the internal rate of return on an investment based on a series of periodic cash flows.
VALUE
Converts text that appears in a recognized format (e.g. a number, date, or time format) into a numeric value.
ISERROR
Checks whether a value is an error.
NPER
Calculates the number of payment periods for an investment based on constant-amount periodic payments and a constant interest rate.
PMT
Calculates the payment for a loan based on constant payments and a constant interest rate.
PV
Calculates the present value of an annuity investment based on constant-amount periodic payments and a constant interest rate.
NPV
Calculates the net present value of an investment based on a series of periodic cash flows and a discount rate.
FV
Calculates the future values of an investment based on a fixed interest rate.
WEEKINTERVAL
Creates a date interval in weeks.
TO_TIMEZONE
Converts to a different time zone of choice.
WORKDAY
Calculates the date after a number of working days from a specified start date.
NETWORKDAYS
Returns the number of net working days between two provided days.
TO_DATE
Converts a provided number to a date.
YEARFRAC
Returns the number of years, including fractional years, between two dates using a specified day count convention.
WEEKDAY
Returns a number representing the day of the week of the date provided.
EDATE
Returns a date a specified number of months before or after another date.
EOMONTH
Returns the date on the last day of a month that falls a specified number of months before or after another date.
TIME
Converts a provided hour, minute, and second into a time.
MONTHINTERVAL
Creates a date interval between months.
TRANSPOSE
Switches rows and columns from ranges or {data} and creates a table with the results.
DATEDIF
Calculates the number of days, months, or years between two dates.
ISDATE
Returns a boolean meaning whether a value is a date.
DAYS
Returns the number of days between two dates.
DATEVALUE
Converts a provided date to a date value.
ISOWEEKNUM
Returns a number representing the ISO week of the year where the provided date falls.
SECOND
Returns the second component of a time as number between 0-59.
HOUR
Returns the hour component of a time as number between 0-23.
MINUTE
Returns the minute component of a time as number between 0-59.
MOD
Get the remainder from a division operation.
MD5
Converts text using MD5.
SHA256
Converts text using SHA256.
DECODEURL
Decodes text using the UTF-8 encoding, so it can parse URL query parameters.
ENCODEURL
Converts text using the UTF-8 encoding, so it can be used as a URL query parameter.
ATANH
Returns the inverse hyperbolic tangent of a real number
EXP
Returns Euler's number (e) raised to a power.
LOG
Returns the logarithm of the given base for the given value
DEGREES
Returns the degrees value of a radian angle
RADIANS
Returns the radian value of an angle in degrees
SQRT
Returns the square root for the given value
LOG10
Returns the base 10 logarithm for the given value
TAN
Returns the tangent of an angle in radians.
ATAN
Returns the inverse tangent of an angle in radians.
TANH
Returns the hyperbolic tangent of a real number
ACOSH
Returns the inverse hyperbolic cosine of a real number
COSH
Returns the hyperbolic cosine of a real number.
ACOS
Returns the inverse cosine of an angle in radians.
SIN
Returns the sine of an angle in radians.
COS
Returns the hyperbolic sine of a real number.
ASINH
Returns the hyperbolic sine of a real number.
SINH
Returns the hyperbolic sine of a real number.
ASIN
Returns the reverse sine of an angle in radians.
YEAR
Get the year from a date.
MONTH
Get the month from a date.
DAY
Get the day from a date.
RAND
Gets a random number between 0 and 1.
RANDBETWEEN
Gets a random integer number between the numbers defined.
DETECT_LANGUAGE_GOOGLE
Detect the language of a text using Google Translate.
TRANSLATE_GOOGLE
Translate a body of text from a source language to a target language.
TECH_STACK_PREDICTLEADS
Get the entire tech stack used on a given domain.
JOB_OPENINGS_PREDICTLEADS
Get a list of job openings for mid to large companies based on the company domain.
EVENTS_PREDICTLEADS
Get a list of news events for a given company. Events are found in press releases, industry news, blogs, and other text-based media.
AUDIO
Inserts an audio file in a cell by providing an URL.
SPARKLINE
Create a miniature chart contained within a cell.
IMAGE
Inserts an image in a cell by providing an URL.
LASTXDAYS
Get the date interval for the last X days.
LASTXWEEKS
Get the date interval for the last X weeks. The first day of the range is a Sunday and the last date is a Saturday.
LASTXMONTHS
Get the date interval for the last X months.
UNIX2DATE
Convert a unix timestamp to a human readable date.
COUNT
Get a count of cells that have numbers.
COUNTA
Count non-empty cells.
COUNTIFS
Count cells in a range that meet multiple criteria that is specified in other ranges.
MODE
Get the mode (the most frequently occurring number) for a set of numbers.
MEDIAN
Get the median (middle value) of a set of numbers.
AVERAGE
Calculate the average of several numbers.
MIN
Get the minimum value in a set of numbers.
MAX
Get the maximum value in a set of numbers.
PRODUCT
Multiply two numbers.
SUMPRODUCT
Sum the respective products of values in ranges.
SUMIFS
Sum a range based on criteria.
INDEX
Get the value of a cell in a range, as specified by row and column number.
SUM
Sum two or more numbers.
SLICE
Breaks text by order around the delimiter and retrieves one word.
RELATIVE_URL
Extracts a relative path from a url.
DOMAIN
Extracts a base domain from a url or email address.
GET_BALANCE_STRIPE
Get the current balance of your Stripe account.
GET_CUSTOMER_SUBSCRIPTIONS_STRIPE
Get the customer subscriptions by email or ID.
LTE
Check if one value is smaller than or equal to another.
LT
Check if a value is smaller than another.
GTE
Check if one value is greater than or equal to another.
GT
Check if one value is greater than another.
&
Merge two strings.
-
Subtract one number from another.
/
Divide one number by another.
<
Check if a value is smaller than another.
<=
Check if one value is smaller than or equal to another.
<>
Check if two values are different from each other.
=
Check if two values are the same.
>
Check if one value is greater than another.
>=
Check if one value is greater than or equal to another.
+
Add two numbers together.
*
Multiply one number by another.
^
Raise one number to the power of another.
UPPER
Convert all characters of a given string to upper case.
TODAY
Get the current date.
SLUGIFY
Convert a text into a URL slug.
SEARCH
Get the position of a string within a text. SEARCH() is not case sensitive.
ROW
Get the row number of a cell.
ROUNDUP
Round up a number to a specified number of digits.
ROUNDDOWN
Round down a number to a specified number of digits.
ROUND
Round a number up or down to a specified number of digits.
RIGHT
Get a substring from the right of a specified string.
RANGE2HTML
Create an HTML table from a range with the same look and feel of the spreadsheet.
POWER
Get one number raised to a power.
PI
Get the number PI.
NOW
Get the current date and time.
NOT
Get the opposite logical value of an argument.
NE
Check if two values are different from each other. Case sensitive.
MINUS
Subtract one number from another.
LOWER
Convert all characters of a string to lower case.
LEN
Get the number of characters in a string.
LEFT
Get a substring from the left of a specified string.
FIND
Get the number of characters at which a string is first found within a text. FIND() is case sensitive.
EQ
Check if two values are the same.
DIVIDE
Divide one number by another.
DATE
Create a date given a year, a month, and a day.
BASE64
Encodes a text to a Base64 string.
BASE64DECODE
Decode a Base64 string to a human-readable text.
COLUMN
Get the column number of a reference cell.
CONNECTIONS_PREDICTLEADS
Get a list of categorized business connections. Business connections can be found via backlinks, logos, and case studies on company pages.
AND
Returns TRUE if all conditions are true, and FALSE if at least one condition is FALSE.
ADD
Get the sum of two numbers.
ABS
Get the absolute value of a number, that is, convert a negative number to a positive.
OR
Returns TRUE if at least one condition is true, and FALSE if all conditions are FALSE.
UNIXTIME
Convert a date, datetime, time, or number into Unix time.
SPLIT
Divides text around a character or string and puts each block into a separate cell in the row.
MULTIPLY
Multiply two numbers.