Integrate Data with Zapier and Amazon AppFlow

Topic

Zapier and Amazon AppFlow make it easy to set up workflows that move data bi-directionally between Honeycode and hundreds of applications (e.g. Salesforce, Marketo, Amazon S3, etc.). Users can set Honeycode or other applications as either the sources or destinations for data movement.

Users can trigger these workflows based on events in Honeycode (e.g. row added, row deleted, column changed, app button clicked etc.), based on events in external applications, or based on schedules.

Example: Let's say that each time a certain change happens in Salesforce, you want a new row of data to be added to one of your Honeycode tables. Or each time a user adds a new item to a Honeycode table through a Honeycode app, that data also gets written to Salesforce.

The possibilities are endless with these two-way integrations, and in this article, we will break down three methods (Zapier, AppFlow, and Webhooks) that can help you connect Honeycode with your other work tools.

:hammer_and_wrench: Builder tip: We've built a training course for more robust content on this topic. Also included in the course are the Honeycode APIs, which are another method to connect Honeycode with other applications and services. For more information about the Honeycode APIs, you can also go to this article.


Determining which one to use

You might be wondering which integration method is best for your use case. Here are some things to consider:

  1. Consider whether the application or service that you want to connect Honeycode to is supported by Amazon AppFlow or Zapier. If Zapier or AppFlow supports the integration, they are recommended and don't require coding skills.

  2. If both AppFlow and Zapier are supported, think about your use case:

    • Zapier can only move one row of data at a time.
    • Zapier supports Honeycode as both a data source (using the webhooks found in this article) and a data destination
    • Zapier supports many operations such as update, update or insert, delete and read in addition to append (append is also supported by AppFlow)
    • AppFlow can move multiple rows of data at a time
    • AppFlow only supports Honeycode as a data destination
  3. If Zapier or AppFlow do not support the integration (e.g. you have a special use case or maybe the application you are trying to connect to is custom/internal) consider using the Honeycode APIs (these might require some technical resources if you don't have coding experience) or the Webhooks found in this article.


Zapier

What is Zapier?

Zapier is an online automation tool that connects two or more apps to automate tasks and data movement without needing a developer to build the integration. It's easy enough that anyone can build workflows with just a few clicks.

Zapier image

What are the benefits of using Zapier?

With Zapier, you can connect to over two thousand services. No programming is necessary and in just a few clicks, you can set up a fully functional integration between Honeycode and your target service. There are many different types of workflows that you can implement with Honeycode and Zapier. Below are a few ideas:

  • Add new leads from Salesforce into Honeycode

  • Sync expense data from Quickbooks or Xero into Honeycode

  • Enter issues from Jira into a Honeycode workbook that tracks to-do items

  • Enroll customers that you track in Honeycode in an online learning course

Zapier terminology

Zap

A Zap is an automated workflow between your apps. For example, you may have a Zap that writes Salesforce data to a Honeycode table. Zaps consist of at least two parts: a trigger and one or more actions.

Trigger

A trigger is the event in an app that starts the Zap. Once you set up a Zap, Zapier will monitor the app for that event. For example, new data is written to Salesforce each time a new record is added, and this could serve as a trigger. Zapier will monitor this for you in Salesforce.

Action

An action is the event that completes the Zap. For example, with the aforementioned Salesforce trigger, a new row of data is written to a Honeycode table, which would be the action.

Task

Each piece of data you run through your Zap counts as a task. That means if your Zap adds 100 rows of data to a Honeycode table, that would count as 100 tasks.

Getting started with Zapier

While we do provide high level steps in this article, we recommend Zapier's documentation if you prefer something more thorough:

Zapier's Getting Started Guide
Zapier's Learning Center

To use Zapier, you will need an account with an email address for:

  1. Honeycode
  2. Zapier
  3. The application or service you want to connect to

Check out popular integrations for Honeycode on Zapier or try one of the following zap templates, to get started!

Creating a Zap with Honeycode as the trigger

  1. Honeycode set up: Create a Honeycode workbook. Set up the table from which you want to access data.

  2. Create the Zap: Go to Zapier and click on the button that says Create a Zap. Give your Zap a name.

  3. Set up the Trigger in Zapier: In the search bar for Choose App & Event, enter "Honeycode." Then select one of the three triggers from the dropdown: New Row, Deleted Row, or Column Change.

  4. Set up the action: Select the application and follow the steps to configure the actions.

  5. Test and run: Test your Zap to make sure it runs the way you expect. If everything looks good, you can turn on the Zap.


Creating a Zap with Honeycode as the action

  1. Honeycode set up: Create a Honeycode workbook. Set up the table where you want the data to go.

  2. Create the Zap: Go to Zapier and click on the button that says Create a Zap . Give your Zap a name.

  3. Set up the trigger: Select the application and follow the steps to configure the trigger.

  4. Set up the action: Select Honeycode as the application and follow the steps to configure the actions.

  5. Test and run: Test your Zap to make sure it runs the way you expect. If everything looks good, you can turn on the Zap.

:hammer_and_pick: Builder tip: If you tried updating rowlinks and picklists with zaps in the past, you may have had to use the FINDROW() function in Zapier and add a subsequent action with the ROW ID. We’ve made this easier and you can type the value(s) from the picklist's column (a.k.a the string) directly into Zapier instead of having to grab the ROW ID.

For example, previously if you had to set a countries picklist to France, you had look up the ROW ID for that row in Honeycode and put the ROW ID in Zapier. Now, you can just type France into Zapier and we will set the rowlink in Honeycode to France.

:movie_camera: Video of the steps


Amazon AppFlow

What is Amazon AppFlow?

Amazon AppFlow is a fully-managed integration service that enables you to securely exchange data between software as a service (SaaS) applications (e.g. Salesforce) and AWS services (e.g. Amazon Simple Storage Service (Amazon S3) and Amazon Redshift).

Amazon AppFlow source integrations include: Amazon S3, Amplitude, Datadog, Dynatrace, Google Analytics, Infor Nexus, Marketo, Salesforce, ServiceNow, Singular, Slack, Trend Micro, Veeva, and Zendesk.

What are the benefits of using Amazon AppFlow?

In just a few clicks, you can run data flows at nearly any scale and at the frequency you want: on a schedule, in response to a business event, or on demand. Here are few additional use cases:

  • Keep data in sync: Transfer data from Amazon S3 into Honeycode.

  • Bring data together: Build solutions across multiple applications, such as visualization or analytics.

  • Transfer at scale: AppFlow lets you transfer hundreds of rows at a time into Honeycode.

  • Integrate securely: With Amazon AppFlow, data is encrypted at rest and in transit, or use AWS PrivateLink for a private data transfer.

Getting started

To see if a service can be used as a source, destination, both, go to the Amazon AppFlow requirements page, select the service, and look at the note at the top. Please note that Honeycode can only be used as a destination.

To use Amazon AppFlow, you will need a few things:

  1. Honeycode account
  2. Amazon Web Services (AWS) account

Check out the Amazon AppFlow User Guide for more information.

Create a flow

This example covers a flow using Amazon AppFlow to send data from Amazon S3 to Amazon Honeycode.

  1. Check the source configuration requirements: Requirements specify that the source file must be in a csv format with a header row that includes the field names in each file. Requirements for using Amazon S3 as a source.

  2. Upload your source file to Amazon S3: Log into your AWS account and upload your file to Amazon S3. Make sure that your file is in csv format with a header row that includes the field names in each file.

  1. Create your flow in Amazon AppFlow: Go to the Amazon AppFlow homepage in the AWS console and choose the button that says Create Flow . Give your flow a name and then click Next.

  1. Enter source and destination details: When you select Amazon S3, you will be prompted to select a bucket. Make sure that your csv file is already uploaded to this bucket.

  1. Choose the flow trigger: Amazon AppFlow provides you with the following three options:

    • Run on demand: You manually run the flow each time you want to transfer data. You do this by pressing the Run Flow button on the Flow Details page.
    • Run flow on schedule: You provide a date and time, and specify a repeat frequency, if applicable.
    • Run flow on event: You configure an event that will initiate the flow. This option is available for source applications that provide change events.

For this example, select Run on demand and click Next.

  1. Map data fields: In this step, you match the fields from your source file to specific columns in your Honeycode table. Amazon AppFlow provides you with several options for mapping:

    • Mapping method: You can do this manually or by uploading a csv file.
    • Source to destination field mapping: Mapping fields directly means that the source data transfers directly to the destination with no modification. You can also choose to map fields with formulas.
    • You also have options for validating data, and applying filters.

For this step, select Manually map fields and then select Map fields directly . You will then be prompted to add filters. You can skip the filter step and proceed to review and create.

  1. Run the flow: Navigate through the remaining screens until you reach the review and create screen. Click the button that says Create Flow . In next screen, you see the details of the flow that you just created. Click the Run Flow button on the top right of the screen to see your flow in action.

  1. Check the results: Now go back to Honeycode, and check out your table. You can see that the data from the csv file is now added to your Honeycode table.

AppFlow Best Practices

Best practice 1: Separate connection for each Flow

While AppFlows can share connections to Honeycode it is recommended to create unique connections for each Flow. For example, when importing a Customers table, and an Orders table from S3, we recommend creating Honeycode_Customers_Import_connection, and Honeycode_Orders_Import_connection connections for the two import flows, Customer_Flow and Orders_Flow, respectively. It does not matter if Customers and Orders come from the same or different data sources; but it is recommended that you create different connections to Honeycode for each Flow.

This is particularly helpful if you see: “Authentication Error with status code 403” errors in your flow executions.

Best practice 2: Space out Flow runtimes

If you need to run multiple scheduled flows, we recommend you do not run them at the exact same time; instead separate them by 15 minutes or more. Running flows one after the other, rather than in parallel, avoids timeouts. If you are seeing 504 errors you should schedule the Flows to run at least 15 minutes after the previous one finishes, or give them ample time between starts (for example morning vs. evening, or 8AM and 10AM every morning).

Best practice 3: Use Owner or Collaborator users for AppFlow connections to Honeycode

When creating an AppFlow connection to Honeycode please use a username that has an Owner or Collaborator role in the workbook you are trying to import data into; the simplest way to do this is to be logged into Honeycode with a user who is the Owner or Collaborator in the workbook you are trying to import into.

Please note that this is not an Administrator for the whole team, but specifically Owner or Collaborator on a given workbook. If you create the workbook yourself you are automatically an Owner, and if you are invited to the workbook (not just the app) you will be given the Collaborator role. The only difference between the two is that Collaborator cannot delete the workbook, whereas the Owner can. You can read more about roles and workbook/app sharing in this Teams & Billing article.

Best practice 4: Keep imports under 500 records at a time

We recommend limiting the number of rows AppFlow imports into Honeycode to 500 or less rows at a time. You can do this by setting filters or smaller time ranges. This recommendation helps because it avoids over running the write buffer allocated to each application in Honeycode.

Best practice 5: Avoid sheet automations after imports

While it is possible to run an automation immediately after an imported row has been appended/added to a table, it is recommended that “processing” automations should be done later, after the import has completed. For example, you would want to let the import job write all 300 rows into an import table before you run an automation to process the import and update the relevant/related tables. To do this, you can add an ImportRowProcessed (date and time) column to your ImportTemp table; this column remains blank during the import. Later in the day, another automation updates the relevant tables and updates the ImportRowProcessed field. Perhaps have another automation that runs once a week and deletes all the records in the ImportTemp table with ImportRowProcessed > 7 days in the past - to clean up your import table.

Best practice 6: Run imports at night

Imports, just like regular data entry by humans, make API calls against the Honeycode database. Therefore, we recommend scheduling imports at night, or when regular users are not active in the application. When imports don’t compete for API calls with your regular users, the apps will be more responsive for your app users.

How do I get help

Following these recommendation will help reduce errors and help your applications perform better.

To get help, free tier users can ask questions in the community forum, while paid customers can raise issues from within the product. If you are an AWS Support customer, you can also raise a case in the AWS Support Console.

Webhooks

:hammer_and_wrench: Builder tip: We showed a webhook example above using Zapier, and we do recommend using Zapier for webhooks if possible. However, Honeycode's webhooks don't require Zapier as an intermediary, and they can be used with any URL that is equipped to handle receiving webhook calls, which is why we have this separate section.

What is a webhook?

A webhook is a way to make online services and applications communicate with each other. They can be used to automatically move data from one place to another when something happens.

You can also think of webhooks like messages that are sent between applications. And in Honeycode, whenever an automation occurs (e.g. something in an app or a table changes), you can add a webhook to move the data from Honeycode to another online service.

For example, let's say you have a Honeycode workbook automation that records new customer orders for gardening supplies. This automation writes a new row of data to one of your Honeycode tables for every new order. Each time this happens, you want two things to automatically send to another online application:

  1. The column data that contains the gardening supply that was ordered.
  2. The column data that contains the employee at your company that placed the order.

In this example, the application you want to send the Honeycode data to isn't supported by Zapier because it was built internally by your IT department; it does, however, have the ability to receive webhook calls.

In order to move the data from Honeycode to your internal application each time this automation occurs, there are a few things you will need to set this webhook up:

  • Webhook URL: The destination that you want to send the Honeycode data to (i.e. the URL of the internal application built by your IT department).

  • Payload value: The payload value is the message or data (i.e. the column data in our example) that is being sent from Honeycode to the destination. For our example we will use:

    • =[Order detail] This is the column containing the gardening supply that was ordered (e.g. fertlizer or a shovel)
    • =$[Sys_User] This is the name of the employee at your company who submitted the new order using the Honeycode app

:hammer_and_wrench: Builder tip: You can get creative with payload values and write expressions for more complex data and use functions like FindRow (to look up something and send to the destination) or Filter (to send a count of something to the destination).

  • Payload key: This can be any word. Keep in mind that this is what will appear in the destination URL. Think of it like the column name for the payload value that you are sending to your internal application. Going off the example above, the following could serve as two corresponding payload keys:

    • Gardening supply ordered
    • Employee name
  • HTTP headers (optional): HTTP headers can be used for different things. For example, you can use them for authentication, or maybe you have only one destination and several applications sending webhooks to the destination, and you want to specify a custom HTTP header to know the application this webhook was sent to.

Steps

  1. Webhooks require a Honeycode automation as a trigger. Select an existing automation or create a new automation. These can be either table automations (accessed by clicking the :zap: on the left navigation bar) or builder automations (accessed by clicking on an app object and accessing the automation modal in the properties panel). Note: the Creating a Zap with Honeycode as a trigger video showcases this.

  2. In the automation modal, click [+] Add actions.

  3. Select Webhook.

  4. Enter the Webhook URL.

  5. Enter the payload value and payload key.

  1. (Optional) Enter Run options and/or HTTP headers.

  2. Check your destination after the automation runs to see if the webhook works.

:hammer_and_wrench: Builder tip: If a webhook call fails, more information about the failure is available in the automations run history.


Team controls for two-way integrations

If you’re a Honeycode team admin, you can enable or disable your team members from connecting with Zapier, AppFlow, Webhooks, or any other integrations we build in the future.

Steps

  1. On the left panel, select the Teams icon > select the Team name > select the Settings icon.

  1. On the Team Settings pop-up modal, toggle the 3rd party application switch(es) to your choosing > select Save.
    Note: this may look different if you are an IAM Identity Center user, as you will not see the Invite Controls options.

:hammer_and_pick: Builder tip: When giving Zapier access to Honeycode, you can choose individual workbooks, as shown in the image of the Zapier settings modal below. This can be helpful in the event there are only certain workbooks that need integration access.


FAQ

  1. Are there limits for Zapier, AppFlow, and APIs?

    Currently, these are the limits (subject to change):

    • Throttling will be per user who has authenticated with Zapier or AppFlow; for the APIs it's per AWS Account.
    • StartTableDataImportJob: 1 tps rate/5 tps burst
    • DescribeTableDataImportJob: 5 tps rate/25 tps burst
    • ListWorkbooks, ListTables, QueryTableRows and ListTableRows: 25 tps rate/50 tps burst
    • CreateTableRows, UpdateTableRows, DeleteTableRows, UpsertTableRows: 5 tps rate/25 tps burst
  2. I am getting a Zapier error message. What do I do?

If you see this error, make sure that you are passing a row id. You can get a row id by using an action that creates a row like Append row or the Find row action.

Whenever using formulas in Zapier, they must always start with an equal sign. If the one you enter does not, and you receive this error message, double check your formula.

  1. Can I use Zapier, AppFlow, and Webhooks if I am using IAM Identity Center?

    • Yes, we do support the use of Zapier, AppFlow, Webhooks, and future integrations if you are using IAM Identity Center.
  2. As a Honeycode team admin, when I turn a 3rd party integration OFF, what can I expect to happen?

    • If there are zaps, flows, or other integrations currently on, you can expect them to stop working after a few minutes.
    • If there are zaps, flows, or other integrations currently configured, you can expect workbook owner or collaborator to be able to see that integrations were disabled in runtime logs.
    • If there are zaps, flows, or other integrations currently configured, you can expect builders to see that it’s not functioning, and delete the configuration if they so desire.
  3. As a Honeycode team admin, when I turn a 3rd party integration ON, what can I expect to happen?

    • If there were existing zaps, flows, or other integrations that were paused because an admin had turned team access off, you can now expect them to work normally.
    • If there were existing zaps, flows, or other integrations that were paused because an admin had turned team access off, you can now expect builders to see that their configuration is in a functioning state.
  4. What is the default state of integrations when a new team is created?

    • For non-IAM Identity Center teams, they are ON by default.
    • For IAM Identity teams, they are OFF by default.
  5. Will integration activity be recorded in CloudTrail?

    • When API activity occurs in Amazon Honeycode apps, the activity is recorded in a CloudTrail event. Both Zapier and AppFlow use Honeycode APIs (using OAuth authentication), so these activities are also recorded as CloudTrail events. You can view, search, and download recent events in your AWS account across API calls and your usage from Zapier or AppFlow.
Was this article helpful?
  • Yes
  • No

0 voters

5 Likes