# Memberspot

Memberspot is an online course and video-hosting platform designed to facilitate knowledge management and community engagement for businesses.

- **Category:** online courses
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 13
- **Triggers:** 0
- **Slug:** `MEMBERSPOT`
- **Version:** 20260223_00

## Tools

### Create Login Token

**Slug:** `MEMBERSPOT_CREATE_LOGIN_TOKEN`

Tool to generate a one-hour login token for a user. Use when you need to auto-login a user by their UID (token expires after one hour).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `uid` | string | Yes | The unique ID (uid) of the user to create a login token for. Get the uid from MEMBERSPOT_LIST_USERS or MEMBERSPOT_FIND_USER_BY_MAIL actions. |

#### 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 |

### Delete Users

**Slug:** `MEMBERSPOT_DELETE_USERS`

Tool to delete one or more users from the platform. Use when you need to remove specified users by their email addresses. Only existing school users are removed; invalid or out-of-school emails are ignored.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `emails` | array | Yes | List of user email addresses to delete. Must contain at least one email. Only existing school users will be deleted; invalid emails are ignored. |

#### 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 |

### Delete Users (POST)

**Slug:** `MEMBERSPOT_DELETE_USERS_POST`

Tool to delete multiple users by email using POST method. Use this if your client does not support DELETE with body. Only existing school users are removed; invalid or out-of-school emails are ignored.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `emails` | array | Yes | Array of user email addresses to delete. Must contain 1-10 emails. Only existing school users will be deleted; invalid emails are ignored. |

#### 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 |

### Find user by email

**Slug:** `MEMBERSPOT_FIND_USER_BY_MAIL`

Tool to retrieve a user's details by their email address. Use when you need to look up a user after obtaining their email.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | Yes | Email address of the user to search for. |

#### 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 |

### Get user course progress

**Slug:** `MEMBERSPOT_GET_USER_COURSE_PROGRESS`

Tool to retrieve user course progress for a specific course and email. Use when you need to check how far a user has progressed through a particular course. Returns details including active posts, completed posts, and user information. Rate limited to 4 requests per second.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | Yes | Email address of the user to get course progress for. |
| `courseId` | string | Yes | The course ID to get progress for. Use MEMBERSPOT_LIST_OFFERS or MEMBERSPOT_LIST_USERS to find valid course IDs. |

#### 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 |

### Grant user offer by email

**Slug:** `MEMBERSPOT_GRANT_USER_OFFER_BY_MAIL`

Tool to grant a user access to an offer by email. If the user does not exist, a new user is created automatically.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | User's last name (optional). |
| `email` | string | Yes | User's email address. If user does not exist, a new user will be created. |
| `orderId` | string | No | Order ID for the access grant (optional). |
| `firstname` | string | No | User's first name (optional). |
| `grantOffer` | string | No | Offer ID to grant access to (optional). |

#### 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 |

### List custom user properties

**Slug:** `MEMBERSPOT_LIST_CUSTOM_USER_PROPERTIES`

Tool to list all defined custom user properties. Use when you need to retrieve metadata of custom user properties after authentication.

#### 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 |

### List all offers

**Slug:** `MEMBERSPOT_LIST_OFFERS`

Retrieves all available offers (products/course bundles) from the Memberspot school. Use this to discover offer IDs before granting or revoking user access. Each offer contains course IDs it grants access to and metadata like priority and update time. No parameters required - returns all offers in the school.

#### 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 |

### List user course progress

**Slug:** `MEMBERSPOT_LIST_USER_COURSE_PROGRESS`

Retrieves paginated list of all course progress for a specific user by email. Use to track user progress across all enrolled courses, including active and completed posts. Rate limited to 4 requests per second.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | Yes | Email address of the user to retrieve course progress for. |
| `pageLength` | integer | No | Number of course progress records to return per page. Defaults to 10. Maximum is 100. |
| `lastLoadedCourseId` | string | No | Pagination cursor - the course ID from the last item of the previous page. Use to fetch subsequent pages of results. |

#### 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 |

### List Users

**Slug:** `MEMBERSPOT_LIST_USERS`

List all users in your Memberspot school with optional filtering and pagination. Use this tool to: - Retrieve all users in your membership platform - Filter users by offer access, course enrollment, or active status - Paginate through large user lists using the nextPage token Returns user details including email, name, creation date, progress, and custom properties. Note: API rate limit is 4 requests per second.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `active` | boolean | No | Filter by user status. Set to true for active users only, false for inactive users only. Omit to return all users. |
| `offerId` | string | No | Filter to return only users who have access to this specific offer. Use MEMBERSPOT_LIST_OFFERS to get valid offer IDs. |
| `courseId` | string | No | Filter to return only users enrolled in this specific course. |
| `pageLength` | integer | No | Number of users to return per page. Defaults to 10. Maximum recommended is 100. |
| `lastLoadedId` | string | No | Pagination cursor token from the 'nextPage' field of a previous response. Must be a valid MongoDB ObjectId. Use to fetch subsequent pages of results. |

#### 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 |

### Set offer expiration

**Slug:** `MEMBERSPOT_SET_OFFER_EXPIRES`

Tool to set or remove the expiration date for an offer for a user. Use when you need to grant time-limited access to an offer or remove time limits from an existing offer. When no value is provided for expiresAt, the offer expiration will be removed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `uid` | string | Yes | User identifier for whom to set the offer expiration. |
| `offerId` | string | Yes | Offer ID to set expiration for. |
| `expiresAt` | string | No | Expiration date in ISO 8601 format (e.g., 2025-12-31T23:59:59.000Z). Set to null or omit to remove expiration. |

#### 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 |

### Set order state

**Slug:** `MEMBERSPOT_SET_ORDER_STATE`

Manages order-based offer access for a user in Memberspot. Use this to activate (grant access), deactivate (revoke access), or delete an order-based offer association. Order IDs typically come from payment providers (Stripe, Copecart, Digistore) after a purchase.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | Yes | Email address of the user whose order state is to be set. |
| `active` | boolean | No | Whether to activate (true) or deactivate (false) the offer. If omitted, the offer is deleted for the user. |
| `orderId` | string | Yes | Unique identifier of the order (typically from payment providers like Stripe, Copecart, or Digistore) that grants the user access to an offer. |

#### 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 |

### Set user offer state

**Slug:** `MEMBERSPOT_SET_USER_OFFER_STATE`

Tool to revoke or set the state of a specific offer for a user. Use after confirming whether the user should gain or lose access.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | Yes | Email address of the user whose offer state is to be set. |
| `active` | boolean | Yes | Whether to activate (true) or revoke (false) the user's access to the offer. |
| `offerId` | string | Yes | Identifier of the offer to activate or revoke for the user. |

#### 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 |
