You can use a Webhook and the API to copy newly added records from one table to another.

This example uses two identical tables called "People" and "PeopleEcho".  Both tables contains four identical fields named "Name", "Age", "DropDown", and "Count". Admittedly this example is simple and contrived, but it illustrates how you can use the same approach in more complex cases.

Every time a new record is added to the "People" table, the webhook is triggered. The webhook uses the API to add an identical record into the "PeopleEcho" table.

Do this as follows:

  1. Go to the Manage > Integrations > IN pane and enabled the input integration.

  2. Go to the Behavior > Workflow pane and add a "Webhook" rule.

  3. In the webhook "Target data" property choose the "People" table.

  4. In the webhook "Update event" property choose "ADDS_ONLY".

  5. In the webhook "Url" property enter:

    Where the App Id following "apps/" is the "App Id" from the Manage > Integrations > IN pane.

    The value following "tables/" is the name of the target table. In this case, "PeopleEcho".

  6. In the webhook "HTTP Verb" property enter "Post".

  7. Create a "JSON Body Template" that looks like the one below.

    This JSON Body Template copies the value of the "Name" field of table "People" to the "Name" field of table "PeopleEcho". Ditto for the other three fields.

    This example, is simply copying the entire record from "People" to "PeopleEcho" but you could do other things. You could copy a subset of the fields. You could initialize the fields of the new record using constants or expressions. 

  "Action": "Add",
  "Properties": {
   "Locale": "en-US",
   "Location": "47.623098, -122.330184",
   "Timezone": "Pacific Standard Time",
   "UserSettings": {
      "Option 1": "value1",
      "Option 2": "value2"
  "Rows": [
      "Name": "<<[Name]>>",
      "Age": "<<[Age]>>",
      "DropDown": "<<[DropDown]>>",
      "Count": "<<[Count]>>"

Creating the JSON Body Template

If you click the "Create" button following the "JSON Body Template" property, AppSheet will create an initial JSON Body Template which you can then modify. The template is based on the fields of the table you specify in the "Target data" property.

The following technique can simplify template creation.

  1. Temporarily change the "Target data" property to the table you want to use for the template.

  2. Click "Save" to save the temporary change.

  3. Click the "Create" button to create the template.

  4. Restore the  "Target data" property to its original value.

  5. Click "Save" to save all changes.

Troubleshooting Your Webhook and API

  1. You can troubleshoot your Webhook as described here.

  2. You can troubleshoot your API as described here.

Did this answer your question?