reportei
$
npx mdskill add vm0-ai/vm0-skills/reporteiGenerate marketing reports using the Reportei API.
- Automates retrieval of company data, templates, and client projects.
- Depends on the Reportei API with Bearer token authentication.
- Executes specific endpoints to fetch company details and client metrics.
- Delivers structured JSON responses for further processing or display.
SKILL.md
.github/skills/reporteiView on GitHub ↗
---
name: reportei
description: Reportei API for marketing reports. Use when user mentions "Reportei",
"marketing report", "digital marketing", or report automation.
---
## Troubleshooting
If requests fail, run `zero doctor check-connector --env-name REPORTEI_TOKEN` or `zero doctor check-connector --url https://app.reportei.com/api/v1/me --method GET`
## How to Use
### 1. Get Company Details
Retrieve details of your company associated with the token:
```bash
curl -s -X GET "https://app.reportei.com/api/v1/me" -H "Authorization: Bearer $REPORTEI_TOKEN"
```
Response:
```json
{
"company": {
"id": 1,
"name": "Your Company",
"logo": "logo.jpeg",
"type": "agency",
"potential_clients": "11-15",
"company_specialty": "paid traffic"
}
}
```
### 2. List Templates
Retrieve all report templates in your company:
```bash
curl -s -X GET "https://app.reportei.com/api/v1/templates" -H "Authorization: Bearer $REPORTEI_TOKEN" | jq '.data[] | {id, title, used_count}'
```
### 3. List Clients (Projects)
Retrieve all client projects:
```bash
curl -s -X GET "https://app.reportei.com/api/v1/clients" -H "Authorization: Bearer $REPORTEI_TOKEN"
```
### 4. Get Client Details
Retrieve details of a specific client. Replace `<your-client-id>` with the actual client ID:
```bash
curl -s -X GET "https://app.reportei.com/api/v1/clients/<your-client-id>" -H "Authorization: Bearer $REPORTEI_TOKEN"
```
### 5. List Client Reports
Get all reports for a specific client. Replace `<your-client-id>` with the actual client ID:
```bash
curl -s -X GET "https://app.reportei.com/api/v1/clients/<your-client-id>/reports" -H "Authorization: Bearer $REPORTEI_TOKEN"
```
### 6. Get Report Details
Retrieve details of a specific report. Replace `<your-report-id>` with the actual report ID:
```bash
curl -s -X GET "https://app.reportei.com/api/v1/reports/<your-report-id>" -H "Authorization: Bearer $REPORTEI_TOKEN"
```
### 7. List Client Integrations
Get all integrations for a specific client. Replace `<your-client-id>` with the actual client ID:
```bash
curl -s -X GET "https://app.reportei.com/api/v1/clients/<your-client-id>/integrations" -H "Authorization: Bearer $REPORTEI_TOKEN"
```
### 8. Get Integration Details
Retrieve details of a specific integration. Replace `<your-integration-id>` with the actual integration ID:
```bash
curl -s -X GET "https://app.reportei.com/api/v1/integrations/<your-integration-id>" -H "Authorization: Bearer $REPORTEI_TOKEN"
```
### 9. Get Integration Widgets
List available widgets for an integration. Replace `<your-integration-id>` with the actual integration ID:
```bash
curl -s -X GET "https://app.reportei.com/api/v1/integrations/<your-integration-id>/widgets" -H "Authorization: Bearer $REPORTEI_TOKEN"
```
### 10. Get Widget Value
Retrieve the value of specific widgets.
Write to `/tmp/reportei_request.json`:
```json
{
"widgets": ["widget_id_1", "widget_id_2"],
"start_date": "2024-01-01",
"end_date": "2024-01-31"
}
```
Then run (replace `<your-integration-id>` with the actual integration ID):
```bash
curl -s -X POST "https://app.reportei.com/api/v1/integrations/<your-integration-id>/widgets/value" -H "Authorization: Bearer $REPORTEI_TOKEN" -H "Content-Type: application/json" -d @/tmp/reportei_request.json
```
### 11. Create Report (Connector Action)
Create a new report programmatically.
Write to `/tmp/reportei_request.json`:
```json
{
"client_id": "your-client-id",
"template_id": "your-template-id",
"start_date": "2024-01-01",
"end_date": "2024-01-31"
}
```
Then run:
```bash
curl -s -X POST "https://app.reportei.com/api/v1/create_report" -H "Authorization: Bearer $REPORTEI_TOKEN" -H "Content-Type: application/json" -d @/tmp/reportei_request.json
```
### 12. Create Dashboard (Connector Action)
Create a new dashboard.
Write to `/tmp/reportei_request.json`:
```json
{
"client_id": "your-client-id",
"name": "My Dashboard"
}
```
Then run:
```bash
curl -s -X POST "https://app.reportei.com/api/v1/create_dashboard" -H "Authorization: Bearer $REPORTEI_TOKEN" -H "Content-Type: application/json" -d @/tmp/reportei_request.json
```
### 13. Add to Timeline (Connector Action)
Add an entry to the client timeline.
Write to `/tmp/reportei_request.json`:
```json
{
"client_id": "your-client-id",
"title": "Campaign Launched",
"description": "New marketing campaign started"
}
```
Then run:
```bash
curl -s -X POST "https://app.reportei.com/api/v1/add_to_timeline" -H "Authorization: Bearer $REPORTEI_TOKEN" -H "Content-Type: application/json" -d @/tmp/reportei_request.json
```
### 14. List Webhook Events
Get available webhook event types:
```bash
curl -s -X GET "https://app.reportei.com/api/v1/webhook/events" -H "Authorization: Bearer $REPORTEI_TOKEN"
```
### 15. Subscribe to Webhook
Subscribe to webhook notifications.
Write to `/tmp/reportei_request.json`:
```json
{
"url": "https://your-webhook-endpoint.com/webhook",
"events": ["report.created", "report.updated"]
}
```
Then run:
```bash
curl -s -X POST "https://app.reportei.com/api/v1/webhooks/subscribe" -H "Authorization: Bearer $REPORTEI_TOKEN" -H "Content-Type: application/json" -d @/tmp/reportei_request.json
```
### 16. Unsubscribe from Webhook
Unsubscribe from webhook notifications.
Write to `/tmp/reportei_request.json`:
```json
{
"webhook_id": "your-webhook-id"
}
```
Then run:
```bash
curl -s -X POST "https://app.reportei.com/api/v1/webhooks/unsubscribe" -H "Authorization: Bearer $REPORTEI_TOKEN" -H "Content-Type: application/json" -d @/tmp/reportei_request.json
```
## Company Types
| Type | Description |
|------|-------------|
| `agency` | Marketing agency |
| `freelancer` | Independent professional |
| `company` | In-house marketing team |
## Response Fields
### Company Object
| Field | Description |
|-------|-------------|
| `id` | Company unique identifier |
| `name` | Company name |
| `logo` | Logo filename |
| `type` | Company type |
| `potential_clients` | Client range |
| `company_specialty` | Main focus area |
### Template Object
| Field | Description |
|-------|-------------|
| `id` | Template unique identifier |
| `title` | Template name |
| `description` | Template description |
| `used_count` | Times template has been used |
| `created_at` | Creation timestamp |
| `updated_at` | Last update timestamp |
## Guidelines
1. **Bearer Token**: Always include the Authorization header with Bearer token
2. **Rate Limits**: Be mindful of API rate limits
3. **Date Format**: Use ISO format (YYYY-MM-DD) for date parameters
4. **Client IDs**: Get client IDs from the `/clients` endpoint first
5. **Template IDs**: Get template IDs from the `/templates` endpoint
6. **Webhooks**: Use webhooks for real-time notifications instead of polling
7. **Dashboard**: Use https://app.reportei.com for visual report management
More from vm0-ai/vm0-skills
- account-reconciliationPerform account reconciliations comparing general ledger balances against subledgers, bank statements, or external records. Use for bank reconciliation, GL-to-subledger reconciliation, intercompany reconciliation, balance sheet reconciliation, reconciling item analysis, outstanding item aging, or clearing open items.
- agentphoneBuild AI phone agents with AgentPhone API. Use when the user wants to make phone calls, send/receive SMS, manage phone numbers, create voice agents, set up webhooks, or check usage — anything related to telephony, phone numbers, or voice AI.
- ahrefsAhrefs SEO API for backlink and keyword analysis. Use when user mentions
- amplitudeAmplitude product analytics API. Use when user mentions "Amplitude",
- analysis-qaQuality-check a data analysis before sharing — verify joins, aggregations, denominators, time ranges, and metric definitions. Detect pitfalls like survivorship bias, average-of-averages, join explosion, timezone mismatches, incomplete periods, and selection bias. Includes documentation templates for reproducible analyses.
- anthropic-managed-agentsAnthropic Managed Agents API for programmatically creating, running, and streaming AI agents on Anthropic's cloud infrastructure. Use when the user mentions "Managed Agents", "Anthropic agent sessions", or needs to create/run/stream an Anthropic agent with tool use (bash, git, web), attach GitHub repositories, or inject secrets via Vault. Do NOT use for standard Claude Messages API — use the Claude API skill instead.
- apifyApify web scraping platform. Use when user mentions "scrape website",
- asanaAsana API for tasks and projects. Use when user mentions "Asana", "asana.com",
- atlassianAtlassian API for Confluence and Jira. Use when user mentions "Confluence
- attioAttio REST API for AI-native CRM operations — manage companies, people, deals, and custom objects, plus notes, tasks, lists, and comments. Use when the user mentions "Attio", "CRM record", "create company", "add person", "list entry", "CRM note", or "CRM task".