> For the complete documentation index, see [llms.txt](https://help.contouron.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.contouron.com/api/mcp-server/example-prompts.md).

# Example Prompts

> For the complete documentation index, see [llms.txt](https://help.contouron.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.contouron.com/api/mcp/examples.md).

## Example Prompts

The Contouron MCP Server translates your natural language prompts into the right sequence of API calls. Here are common prompts and how they work behind the scenes.

### Prompt-to-Tool Mapping

| What You Say                                                             | Tools Called                                                                                                                                            | How It Works                                                                                                                              |
| ------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| "Post 'Hello world' to my Twitter"                                       | `contouron_list_accounts` -> `contouron_create_post`                                                                                                    | 2 calls. Finds your Twitter account ID, creates and publishes the post. Returns the published URL.                                        |
| "Schedule a LinkedIn post for Friday at 3pm"                             | `contouron_list_accounts` -> `contouron_create_post`                                                                                                    | 2 calls. Finds your LinkedIn account, creates the post with scheduledTime. Confirms the scheduled time.                                   |
| "Summarize this YouTube video and post it to Instagram"                  | `contouron_create_source` -> `contouron_list_accounts` -> `contouron_create_post`                                                                       | 3 calls. Extracts the video transcript, rewrites it for Instagram, then publishes with the right media type.                              |
| "What accounts do I have connected?"                                     | `contouron_list_accounts`                                                                                                                               | 1 call. Returns all connected accounts with subaccounts and platform details.                                                             |
| "Create an infographic about 5 AI trends"                                | `contouron_list_visual_templates` -> `contouron_create_visual`                                                                                          | 2 calls. Picks a suitable template, passes your prompt. AI fills in the content and layout.                                               |
| "Make a carousel of motivational quotes"                                 | `contouron_list_visual_templates` -> `contouron_create_visual` -> `contouron_get_visual_status`                                                         | 2-3 calls. Picks a carousel template, generates the visual. Polls for completion if needed.                                               |
| "Generate a product showcase image for my new sneakers"                  | `contouron_list_visual_templates` -> `contouron_create_visual`                                                                                          | 2 calls. Picks a template, passes your prompt with product details. Template AI handles layout and styling.                               |
| "Create a short video about my coffee brand and post it to TikTok"       | `contouron_list_visual_templates` -> `contouron_create_visual` -> `contouron_get_visual_status` -> `contouron_list_accounts` -> `contouron_create_post` | 4-5 calls. Full pipeline: pick video template -> generate video -> poll until done -> find TikTok account -> publish with the video URL.  |
| "I want to make a quote card image"                                      | `contouron_list_visual_templates` -> `contouron_create_visual`                                                                                          | 2 calls. Picks a quote card template, generates the image. Returns image URLs usable in a follow-up post.                                 |
| "Check on my visual I created earlier"                                   | `contouron_get_visual_status`                                                                                                                           | 1 call. Checks the status of a previous visual generation using its ID.                                                                   |
| "Show me my scheduled posts"                                             | `contouron_list_schedules`                                                                                                                              | 1 call. Returns all future scheduled posts with their content, times, and target accounts.                                                |
| "What did I publish on Instagram last week?"                             | `contouron_list_posts`                                                                                                                                  | 1 call. Returns published Instagram posts in the time window with their public URLs.                                                      |
| "Which of my Twitter posts failed this month?"                           | `contouron_list_posts`                                                                                                                                  | 1 call. Filters by `status=failed` and `platform=twitter`; returns each failure's `errorMessage`.                                         |
| "Show me everything I posted or scheduled across all platforms recently" | `contouron_list_posts`                                                                                                                                  | 1+ calls. Filters by `status=published,scheduled`; pages through results if there are many.                                               |
| "Show me recent comments on my Instagram posts"                          | `contouron_list_comments`                                                                                                                               | 1 call. Returns recent comments with their text, author, and status.                                                                      |
| "Comment 'Thanks everyone!' on my latest Instagram post"                 | `contouron_list_posts` -> `contouron_post_comment`                                                                                                      | 2 calls. Finds your latest published Instagram post, then posts the comment on it.                                                        |
| "Did my comment post yet?"                                               | `contouron_get_comment`                                                                                                                                 | 1 call. Looks up the comment by its ID and returns its current status (queued, posted, or failed).                                        |
| "What are my top posts this month?"                                      | `contouron_list_top_posts`                                                                                                                              | 1 call. Returns your best published posts ranked by views (or another metric).                                                            |
| "How is my latest Instagram post performing?"                            | `contouron_list_posts` -> `contouron_get_post_analytics`                                                                                                | 2 calls. Finds the published post, then returns its full metrics and history.                                                             |
| "Show me my recent Instagram conversations"                              | `contouron_list_conversations`                                                                                                                          | 1 call. Returns your direct-message conversations, most recent first.                                                                     |
| "Reply 'Thanks!' to my latest message from @jamie"                       | `contouron_list_messages` -> `contouron_send_message`                                                                                                   | 2 calls. Finds the conversation and the sender's id, then sends the reply.                                                                |
| "Reschedule my LinkedIn post to Friday at 5pm"                           | `contouron_list_schedules` -> `contouron_update_schedule`                                                                                               | 2 calls. Lists schedules to find the LinkedIn post, then updates its scheduled time.                                                      |
| "Delete my scheduled Twitter post"                                       | `contouron_list_schedules` -> `contouron_delete_schedule`                                                                                               | 2 calls. Lists schedules to find the Twitter post, then deletes it and cancels the publishing job.                                        |
| "Change the text on my next scheduled Instagram post"                    | `contouron_list_schedules` -> `contouron_list_accounts` -> `contouron_update_schedule`                                                                  | 3 calls. Lists schedules to find the post, fetches accounts for the required fields, then updates the draft content.                      |
| "Analyze this article and turn it into a thread"                         | `contouron_create_source` -> `contouron_list_accounts` -> `contouron_create_post`                                                                       | 3 calls. Extracts the article content, splits it into thread segments, publishes as one thread using additionalPosts\[].                  |
| "Post this update to my Sunrise Bakery Facebook page"                    | `contouron_list_accounts` -> `contouron_create_post`                                                                                                    | 2 calls. Lists all accounts and subaccounts, matches "Sunrise Bakery" Facebook page, publishes with the correct pageId.                   |
| "Upload this photo from my desktop and post it to Instagram"             | `contouron_create_presigned_upload_url` -> `contouron_list_accounts` -> `contouron_create_post`                                                         | 3 calls. Gets a presigned upload URL, uploads the local file, then publishes using the returned public URL. No Google Drive or S3 needed. |

***

### Multi-Step Workflows

#### Repurpose a YouTube Video to Multiple Platforms

> "Take this YouTube video \[URL], summarize it, create a carousel, and post it to Instagram and LinkedIn"

1. `contouron_create_source` - extracts the video transcript
2. `contouron_list_visual_templates` - finds carousel templates
3. `contouron_create_visual` - generates the carousel from the summary
4. `contouron_get_visual_status` - waits for the carousel to finish
5. `contouron_list_accounts` - finds your Instagram and LinkedIn accounts
6. `contouron_create_post` (x2) - posts to both platforms

#### Schedule a Week of Content

> "Create 5 different quote cards and schedule them to my Twitter, one per day starting Monday"

1. `contouron_list_visual_templates` - finds quote card templates
2. `contouron_create_visual` (x5) - generates 5 quote cards with different prompts
3. `contouron_get_visual_status` (x5) - waits for each to finish
4. `contouron_list_accounts` - finds your Twitter account
5. `contouron_create_post` (x5) - schedules each with a different scheduledTime

#### Review and Reschedule Content

> "Show me everything I have scheduled for this week. Move anything on Monday to Tuesday instead."

1. `contouron_list_schedules` - fetches all future scheduled posts
2. AI filters for posts scheduled on Monday
3. `contouron_update_schedule` (xN) - updates each Monday post's scheduledTime to Tuesday at the same time

#### Upload a Local File and Post It

> "Post this video on my desktop to TikTok and Instagram"

1. `contouron_create_presigned_upload_url` - gets a presigned URL for the file
2. AI uploads the file to the presigned URL via HTTP PUT
3. `contouron_list_accounts` - finds your TikTok and Instagram accounts
4. `contouron_create_post` (x2) - posts to both platforms using the public URL from step 1

No need to upload the file to Google Drive or S3 first. The presigned URL lets you upload directly to Contouron.

#### Research and Publish

> "Research the latest AI trends and create a thread about it on Twitter"

1. `contouron_create_source` - uses perplexity-query to research the topic
2. `contouron_list_accounts` - finds your Twitter account
3. `contouron_create_post` - publishes as a thread using additionalPosts\[] for the additional tweets

#### Triage new comments and DMs

> "Show me every new comment and DM I have not answered since yesterday"

1. `contouron_list_comments` - lists recent comments filtered by `since`. Audience comments have `isAuthor: false`.
2. `contouron_list_conversations` - lists your recent DM threads.
3. `contouron_list_messages` - lists recent messages filtered by `since`. Incoming messages have `direction: incoming`.
4. AI groups the results into questions, positive replies, and action items, then drafts suggested responses.

This recipe reads only and sends nothing.

#### Reply to comments on a post

> "Reply to every unanswered comment that expresses interest in my business on my latest Instagram post with a link to my website."

1. `contouron_list_posts` - finds your latest published post and its `postId`.
2. `contouron_list_comments` - lists the post's comments (`postId`, `isAuthor: false`).
3. `contouron_post_comment` - posts a reply to each comment with `parentCommentId` set to the comment ID.
4. `contouron_get_comment` - polls each reply until its status reaches `posted` or `failed`.

Contouron posts top-level comments and one level of replies. You reply to a top-level comment (a comment without a `parentCommentId`), not to a reply.

#### Turn a comment keyword into a private reply (comment-to-DM)

> "When someone comments PRICE on my product post, send them the link in a private reply"

1. `contouron_list_posts` - finds the post and its `postId`.
2. `contouron_list_comments` - lists new comments on the post (`postId`, `since`, `isAuthor: false`).
3. AI filters the comment `text` for your keyword.
4. `contouron_send_message` - sends a private reply to each matching comment. Set `commentId` to the comment and `recipientId` to the comment's `authorId`.
5. `contouron_get_message` - poll each message until its status reaches `sent` or `failed`.

Restrictions to keep in mind:

* Instagram allows one private reply per comment, within 7 days of the comment. If you've already privately replied to the comment (e.g. through another API or automation platform) your message will be rejected.
* After the private reply, you may reach the person again only after they message you first and open a new 24-hour window.
* Each new person you reach counts toward your plan's monthly active-contacts limit (Starter 100, Creator 250, Agency 1000). See Active Contacts.

#### Answer DMs from your inbox

> "Draft replies to anyone asking about shipping in my Instagram DMs"

1. `contouron_list_conversations` - lists your DM threads.
2. `contouron_list_messages` - lists incoming messages (`direction: incoming`), filtered by conversation or account.
3. AI drafts a reply from your FAQ for each unanswered message.
4. `contouron_send_message` - sends each reply. Set `recipientId` to the incoming message's `senderId`.
5. `contouron_get_message` - poll each reply until its status reaches `sent` or `failed`.

Restrictions to keep in mind:

* You reply to a standard DM within 24 hours of the person's last message. Contouron does not support cold outreach to people who have not messaged you.
* Each new person you message counts toward your plan's monthly active-contacts limit (Starter 100, Creator 250, Agency 1000). See Active Contacts.
* To draft replies without sending, skip the `contouron_send_message` step.

***

### Combining Canva and Contouron

If you have both the [Canva](https://www.canva.com/help/mcp-agent-setup/) and Contouron MCP connectors enabled in your AI coding agent (Claude, Cursor, Codex, Cline, or another MCP-compatible client), use these prompts to bridge them.

For a full walkthrough of combining Canva, Claude, and Contouron, watch this tutorial: [Canva + Claude + Contouron](https://youtu.be/MQjCyQBRZ_M).

#### Post Canva designs to social media

> "Export from Canva and then pass the Canva export domain URLs directly to Contouron to post."

The AI agent exports your Canva design, captures the public Canva CDN URL, and passes it straight into `contouron_create_post` as a `mediaUrl`. No download or re-upload required.

#### Use your own photos or videos inside a Canva design

> "Use Contouron to upload the photos so Canva can use them."

The AI agent calls `contouron_create_presigned_upload_url` to upload each local file to Contouron, then hands the resulting public URLs to Canva as image assets. From there, Canva imports the URLs into your design.

#### Posts failing with "Could not fetch media"

This error means Contouron was unable to download the image URL passed in `mediaUrls` at publish time. In n8n it usually surfaces as `Failed to fetch media URL: char '<X>' is not expected.:1:1` together with `Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.` -- the character in the error is the first character of whatever text the remote URL returned (e.g. `e` for "expired" or "error..."). Open `{error}.$response` in n8n to read the actual body. Common causes:

* The URL is signed and expired before Contouron fetched it (Canva exports, S3 presigned URLs, Google Drive `/view` links)
* The URL points to a preview page or folder, not a direct image file
* The image is behind a login or CDN bot protection

How to fix it:

1. If your AI agent generated images in Canva, send it the two prompts above so it passes the Canva export URL directly into `mediaUrls` instead of trying to download and re-upload.
2. If you used Google Drive, use a direct-download URL in this format: `https://drive.usercontent.google.com/download?id=FILE_ID&export=download&confirm=t`
3. If you have a local file, use Contouron's presigned upload flow to host the file on Contouron first, then publish using the returned `publicUrl`. See: Upload Media
4. Test 1 post first before scheduling a batch.

Platform-specific note: Pinterest is limited to 10 pins per day per account, so a large batch will hit the platform limit even with valid media. See: Pinterest Limits


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://help.contouron.com/api/mcp-server/example-prompts.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
