---
canonical_url: "https://docs.composio.dev/toolkits/formilla"
markdown_url: "https://docs.composio.dev/toolkits/formilla.md"
product: "platform"
version: null
last_updated: null
---

# Formilla

Create or update customer contacts through Formilla's Secure Token REST API for live chat and marketing automation workflows.

- **Category:** customer support
- **Auth:** API_KEY
- **Composio-managed OAuth available?** N/A
- **Tools:** 1
- **Triggers:** 0
- **Slug:** `FORMILLA`
- **Version:** 00000000_00

## Tools

### Upsert Contact

**Slug:** `FORMILLA_UPSERT_CONTACT`

Create a Formilla contact or overwrite supplied fields on an existing contact matched by user ID first, then email. Returns no contact data, ID, or create-versus-update result.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | No | Contact email address. Required only when user_id is omitted; it is the fallback match key when both identities are supplied. |
| `phone` | string | No | Contact phone number. If the matched contact already exists, supplying this overwrites its stored phone number. |
| `user_id` | string | No | Stable unique contact identifier, at most 50 characters. Provide this or email; when both are supplied, Formilla matches user_id first. |
| `last_name` | string | No | Contact last name. If the matched contact already exists, supplying this overwrites its stored last name. |
| `first_name` | string | No | Contact first name. If the matched contact already exists, supplying this overwrites its stored first name. |
| `signed_up_at` | integer | No | Contact signup time as a Unix timestamp in seconds. If supplied for an existing contact, it overwrites the stored signup time. |
| `is_unsubscribed` | boolean | No | Whether the contact is unsubscribed from email. Omit to avoid changing this field; supplying it overwrites the stored value on a match. |
| `custom_attributes` | object | No | Custom contact fields to write. Attribute names may be at most 150 characters and cannot contain . $ ~ ` ! @ # % ^ & * { } &#124; \ ' or curly quotes. Use an _date suffix with a Unix timestamp for date attributes; Formilla documents null only for an existing attribute. Supplied attributes may overwrite stored values. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
