# Send PostHog events and user profiles to Appcues - Docs

You'll also need access to an Appcues account with API access enabled. You can create API credentials under settings in [Appcues Studio](https://studio.appcues.com).

## Installation

1.  In PostHog, click the [Data pipeline](https://app.posthog.com/data-management/destinations) tab in the left sidebar.
2.  Click the [Destinations](https://app.posthog.com/data-management/destinations?search=appcues) tab.
3.  Search for **Appcues** and click **\+ Create**.
4.  Enter your Appcues account ID, API key, and API secret at the configuration step.
5.  Select your data region (US or EU).
6.  Press **Create & Enable**.

## How it works

The Appcues destination supports two types of calls:

-   **Identify calls** – When PostHog captures `$identify` or `$set` events, the destination sends a `PATCH` request to update the user's profile in Appcues with the configured profile properties.

-   **Track calls** – For all other events, the destination sends a `POST` request to record the event in Appcues with the event name, timestamp, and any configured attributes.

Both mapping templates are enabled by default.

## Configuration

| Option | Description |
| --- | --- |
| Account IDType: stringRequired: True | Your numeric Appcues account ID, found on your Appcues account settings page. |
| API KeyType: stringRequired: True | Your Appcues API key. Create one under settings in Appcues Studio (studio.appcues.com). |
| API SecretType: stringRequired: True | The API secret paired with your API key from Appcues Studio. |
| Data regionType: choiceRequired: True | The Appcues data region for your account. |
| User IDType: stringRequired: True | The identifier for the user in Appcues. Defaults to the PostHog distinct ID. |
| Include all propertiesType: booleanRequired: True | If set, all person properties are sent as profile attributes on identify, and all event properties are sent as attributes on track. Internal properties prefixed with $ are excluded. May cause timeouts for persons with many properties. |

How to create this via the API

Using our REST API you can create this destination like so:

Terminal

PostHog AI

```bash
# Create a new destination
curl --location 'https://us.i.posthog.com/api/environments/:project_id/hog_functions' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <POSTHOG_PERSONAL_API_KEY>' \
--data '{
    "type": "destination",
    "name": "Appcues",
    "inputs": {
        "accountId": {
            "value": ""
        },
        "apiKey": {
            "value": ""
        },
        "apiSecret": {
            "value": ""
        },
        "region": {
            "value": "US"
        },
        "userId": {
            "value": "{event.distinct_id}"
        },
        "include_all_properties": {
            "value": ""
        }
    },
    "enabled": true,
    "template_id": "template-appcues"
}'
```

## FAQ

### Is the source code for this destination available?

PostHog is open-source and so are all the destination on the platform. The [source code](https://github.com/PostHog/posthog/blob/master/nodejs/src/cdp/templates/_destinations/appcues/appcues.template.ts) is available on GitHub.

### Who maintains this?

This is maintained by PostHog. If you have issues with it not functioning as intended, please [let us know](https://us.posthog.com/#panel=support%3Asupport%3Aapps%3A%3Atrue)!

### What if I have feedback on this destination?

We love feature requests and feedback. Please [tell us what you think](https://us.posthog.com/#panel=support%3Afeedback%3Aapps%3Alow%3Atrue).

### What if my question isn't answered above?

We love answering questions. Ask us anything via [our community forum](/questions.md).

### Community questions

Ask a question

### Was this page useful?

HelpfulCould be better