---
description: "Connect Circle to Plandalf to add buyers to your community and the right spaces, update member profiles, and start sequences when members join."
---
# Circle setup

Connect your Circle community so buyers get in without you lifting a finger. When someone pays, a sequence can find or create their Circle member and add them to the spaces their purchase includes. A new member joining Circle can also start a Plandalf sequence.

> [!WARNING]
> **Adding access only**
> The Circle steps add members and spaces. There is no step to remove someone from a space, and Plandalf has no refund or cancellation trigger yet, so access is not taken away automatically when a buyer refunds or cancels. Remove it in Circle.

## Before you start

-   A Circle community on a plan that includes the Admin API. Circle offers it on its Business plan and above.
-   Admin access to that community, to create an API token.
-   The spaces you want buyers added to, already created in Circle.

## Get your Circle API token

1.  [Open the token page](#open-circle-tokens)

    In your Circle community, open **Developers → Tokens**. Only community admins can see this page.

2.  [Create an Admin V1 token](#create-circle-token)

    Create a new token, give it a name such as “Plandalf”, and choose **Admin V1** as the type. Plandalf uses Circle’s Admin API v1.

3.  [Copy the token](#copy-circle-token)

    Copy the token and keep it safe until you paste it into Plandalf.

## Connect Circle to Plandalf

1.  [Find Circle in the Marketplace](#find-circle-in-marketplace)

    In Plandalf, open **Automation** in the sidebar and choose the **Marketplace** tab. Find **Circle** under **Available now** and click **Connect**.

2.  [Paste the token](#paste-circle-token)

    In the **Connect Circle** window, keep or change the **Integration name**, paste your token into **API Key**, then click **Connect**.

3.  [Check the result](#check-circle-connection)

    Plandalf checks the token with Circle straight away. When you see **Circle connected**, choose **Build an automation** or **Not now**.

## Steps you can add

### Find or Create Member

Finds a member of your community by email, or creates one.

-   **Email Address** (required), usually `{{trigger.customer_email}}`.
-   **Name**, **First Name** and **Last Name**, used when the member is created.

The step returns the member’s `member_id`, which the next two steps need. Circle can send new members an invitation email when they are added, so test with your own address first.

### Add Member to Space

Adds an existing member to a space.

-   **Member ID** (required): pick `member_id` from the Find or Create Member step in the variable menu.
-   **Space** (required): pick a space from your community.

### Update Member Fields

Updates profile fields on an existing member.

-   **Member ID** (required).
-   **Fields** (required): pairs of a Circle field name and a value, such as `headline` or `first_name`. At least one is needed.

## Start a sequence when someone joins Circle

The **Member Created** trigger starts a sequence when a new member joins your community. Pick a **Space** to fire only for members of that space, or leave it blank for any new member.

Circle has no API for webhooks, so you connect this one by hand:

1.  [Copy the URL from Plandalf](#copy-circle-trigger-url)

    Save the trigger in Plandalf. On its **2\. Config** tab, under **Webhook**, the box **Send Circle events to this URL** shows the address. Click **Copy**.

2.  [Create a Circle workflow](#create-circle-workflow)

    In Circle, open **Workflows** and create an automation workflow. Choose the trigger for a member joining your community.

3.  [Send it to Plandalf](#circle-send-to-webhook)

    Add the **Send to webhook** action and paste the URL as its endpoint. Circle includes this action on its Enterprise plan. On other plans, send the same request from a Zapier or Make step instead.

4.  [Turn it on and test](#circle-trigger-test)

    Turn the workflow on, add a test member, then come back to the trigger’s **3\. Test** tab to see the event.

The trigger gives later steps the member’s `member_id`, `email`, `name`, `first_name`, `last_name`, `headline` and `spaces`.

## Example: buyers join your members space

1.  [Create the sequence](#circle-example-create)

    Go to **Automation → My Sequences** and create a sequence called “Course buyers to Circle”.

2.  [Set the trigger](#circle-example-trigger)

    Choose **Plandalf** and **Checkout Completed**. Under **Offer**, pick the checkout that includes community access. On **3\. Test**, pick a recent checkout as the sample record.

3.  [Find or create the member](#circle-example-member)

    Click **Add a step**, choose **Circle** and **Find or Create Member**, and pick your Circle account. Set **Email Address** to `{{trigger.customer_email}}` and **Name** to `{{trigger.customer_name}}`. Run its test so the next step can use its output.

4.  [Add them to the space](#circle-example-space)

    Add a second step: **Circle**, **Add Member to Space**. For **Member ID**, pick `member_id` from the Find or Create Member step. Pick the members-only **Space**.

5.  [Test and turn it on](#circle-example-on)

    Testing adds a real member to the space, so use your own email. Then turn the sequence **On**.

To try it with a test card, switch on **Run on test purchases** in the sequence’s **Settings** first. Test purchases skip automations by default.

## Common errors

| What you see | What to do |
| --- | --- |
| **Authentication failed** when connecting | Check the token is an **Admin V1** token from **Developers → Tokens** and that your Circle plan includes the Admin API. Plandalf keeps the failed connection in **My apps**. Open it there, paste the right token and choose **Test Connection**, rather than connecting again. |
| The Space list is empty | The connection can’t see any spaces. Check the token belongs to the right community. |
| “Failed to assign member to space” | Usually an empty **Member ID**. Pick `member_id` from the Find or Create Member step, and make sure that step ran first. |
| “At least one field must be provided” | **Update Member Fields** needs at least one field and value. |
| Member Created never fires | Check the Circle workflow is on and posts to the exact URL from the trigger. Without Circle’s Enterprise plan, send it from Zapier or Make. |
| A refunded buyer still has access | Expected: there is no removal step yet. Remove them from the space in Circle. |

## Related guides

-   [Automations overview](https://plandalf.com/docs/product-guides/integrations/plandalf)
-   [Circle with Plandalf checkout](https://plandalf.com/docs/product-guides/platforms/circle)
-   [Plandalf with Circle](https://plandalf.com/platforms/circle)

Source: https://plandalf.com/docs/product-guides/integrations/circle
