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.