# Adapty: update profile attributes

The **Adapty: update profile attributes** Point template writes custom attributes onto the traveler's Adapty profile, so Adapty can pick a paywall by what the journey knows: the step reached, engagement, segment.

## Configure the point

1. Drag **Adapty: update profile attributes** from the **Integrations** section onto the canvas.
2. Double-click the point and enter a **Step Name**.
3. In **Adapty secret key**, enter the app's secret key from Adapty: **App settings > General**. It's stored masked, like a webhook secret header — a public SDK key doesn't authorize this call, so keep it out of this field.
4. Identify whose profile to update: fill either **Adapty profile ID** or **Customer user ID**, not both. **Adapty profile ID** defaults to `{{tag:adapty_profile_id}}`, the tag the Adapty → Pushwoosh integration writes when it's switched on — leave **Customer user ID** empty in that case. Fill **Customer user ID** instead, for example `{{device:user_id}}`, for an app that passes its own user ID to Adapty through `identify()`, and leave **Adapty profile ID** empty. Whichever of the two you leave empty is dropped from the request instead of being sent blank.
5. In **Custom attributes**, add the attribute name mapped to the value to write onto the profile — see [key/value fields](/product/customer-journey/journey-elements/integrations/#configuring-list-and-keyvalue-fields). A cell holding one macro keeps its own type, so a numeric tag arrives as a number. Adapty takes up to 30 attributes, a name of up to 30 characters from letters, digits, dot, dash and underscore, and a value up to 50 characters.
6. Click **Save**.

<Aside type="note">
This point only writes the **Custom attributes** you list. It can't set Adapty's built-in profile fields (email, phone number, first name, last name) — set those through Adapty's own SDK or dashboard.
</Aside>

## Response

This point doesn't map any response data back into the journey. A failed request drops the traveler from the journey — see [Errors and failed requests](/product/customer-journey/journey-elements/integrations/#errors-and-failed-requests).