---
title: "add to bottom of array · RUAL Documentation"
description: "Adds your given value to your given array."
canonical: https://docs.rual.nl/block-types/array/array_push
language: en
---

# add to bottom of array

This block is part of the [`array`](https://docs.rual.nl/block-types/array) group and was last modified in core [`v10.4.28`](https://docs.rual.nl/core-versions/100428).

### Type Selection Required

This block requires you to select the data type you want to work with. You must manually select the type using the type selector modal. To access the modal, click the white button on the block.

### Field Selection Required

This block requires field selection (in). You must manually select the fields you want to work with using the field selector modal. To access the modal, click the white button on the block.

Adds your given value to your given array.

- array `array` The array to which the value will be added (optional).

- Array `array` The array with the added value.

Appends to a COPY of the input array; the input is never mutated. Every filled one of the object, value, number, condition and date pins is appended, in that fixed order, so filling several appends several elements. A date is appended as a unix-seconds number. With no array wired the output is a new array holding just the appended value(s).

| `push` |
| --- |

A typical wiring for [add to bottom of array](https://docs.rual.nl/block-types/array/array_push): [foreach](https://docs.rual.nl/block-types/foreach/function_foreach) feeds the `array` pin; [update document](https://docs.rual.nl/block-types/storage/function_update_document_mutations) feeds the `value` pin; [upsert document](https://docs.rual.nl/block-types/storage/function_upsert_document_from_mutations) feeds the `number` pin; the `array` out pin feeds [remove duplicates](https://docs.rual.nl/block-types/array/array_remove_duplicates).

![Studio canvas example for the add to bottom of array block: typical wiring for add to bottom of array.](https://docs.rual.nl/canvas-examples/array_push.png)

### Commonly used with

In production blueprints, this block is most often wired together with:

- [get fields](https://docs.rual.nl/block-types/object/object_field_getter_multiple): feeds into this block. Gets the selected fields from the given object.

- [remove duplicates](https://docs.rual.nl/block-types/array/array_remove_duplicates): this block feeds into it. Removes duplicate values from an array.

- [new object](https://docs.rual.nl/block-types/object/object_new_fields): this block feeds into it. Builds a new object filled with the given fields.

- [foreach](https://docs.rual.nl/block-types/foreach/function_foreach): feeds into this block.

- [update document](https://docs.rual.nl/block-types/storage/function_update_document_mutations): feeds into this block. Update document in the given storage and creates a revision for it.

- [upsert document](https://docs.rual.nl/block-types/storage/function_upsert_document_from_mutations): feeds into this block. Creates or updates a document with the given GUID. If the document does not exist, it will be created. If it already exists, the mutations will be applied to the existing document.

### Version history

Introduced in [`v10.4.28`](https://docs.rual.nl/core-versions/100428).
