Integration

Frill integration

Frill collects customer feedback, runs a public roadmap and publishes product announcements. Read, search, create, update and delete ideas (feedback posts) with their votes, statuses, topics and priority scores; post and moderate comments and internal notes; manage followers (the end users who post and vote) with their custom attributes and companies; cast or remove votes; publish announcements and organise them in categories; and read the Zendesk or Intercom records linked to ideas. Widgets, surveys, single sign-on and board settings are configured in the Frill app and script, not through this API. Frill allows 10 calls per hour per company on each create endpoint and 30 per minute on the follower and integration-link lists; a throttled call answers 429. Authentication is an API key a company admin creates in Frill's Company Settings, API & MCP (a paid plan is required), sent as a Bearer token.

Ask it in chat

Say what should happen.
The workflow builds itself.

When this happens, do that in Frill.Built from the 37 Frill tools below, on the connection you add once.

What you can do with Frill

Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.

Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.

Idea, 6 operations

  • create_ideaCreate ideaPOSTCreates an idea as follower author_idx with a name and description; status, topics, pin, roadmap and approval state are optional. Depending on board settings it is visible to your users.
  • delete_ideaDelete ideaDELETEDeletes an idea.
  • get_ideaGet ideaGETReturns one idea by its idx or URL slug: content, vote and comment counts, status, topics, priority scores, author and attachments.
  • list_ideasList ideasGETLists ideas (feedback posts) with votes, status, topics and priority scores; filter by status, topic, board or prioritization; sort by name, date, votes or priority_score. Next page: after = pagination.endCursor.
  • search_ideasSearch ideasGETFull-text search over idea names and descriptions. Returns the matching ideas with the same fields as list_ideas.
  • update_ideaUpdate ideaPOSTChanges an idea (name, description, status, topics, pin, archive, roadmap visibility, approval): send only the fields to change. Returns the updated idea.

Announcement, 5 operations

  • create_announcementCreate announcementPOSTCreates an announcement (changelog post) by author_idx with Markdown content. Leave published_at out to keep a draft; setting it publishes the announcement.
  • delete_announcementDelete announcementDELETEDeletes an announcement.
  • get_announcementGet announcementGETReturns one announcement by its idx: Markdown and HTML content, reactions, publish state and date, author, categories and linked ideas.
  • list_announcementsList announcementsGETLists announcements (changelog posts): published, drafts or both, filterable by category and publish date. For the next page pass after = pagination.endCursor.
  • update_announcementUpdate announcementPOSTChanges an announcement: send only the fields to change. Setting published_at publishes it. Returns the updated announcement.

Announcement category, 5 operations

  • create_announcement_categoryCreate announcement categoryPOSTCreates an announcement category from a name and an optional hex color. Returns the category; its idx goes in create_announcement category_idxs.
  • delete_announcement_categoryDelete announcement categoryDELETEDeletes an announcement category.
  • get_announcement_categoryGet announcement categoryGETReturns one announcement category by its idx: name, color, localized names and timestamps.
  • list_announcement_categoriesList announcement categoriesGETLists the announcement categories of the account (idx, name, color, translations), sortable by name or created_at. Pass an idx in create_announcement category_idxs. Next page: after = pagination.endCursor.
  • update_announcement_categoryUpdate announcement categoryPOSTChanges the name or color of an announcement category. Leave a field out to keep its current value.

Follower, 5 operations

  • create_followerCreate followerPOSTCreates a follower (an end user) from a name and an email, optionally with custom attributes and companies (those need the custom attributes feature, else 403). Returns the follower.
  • delete_followerDelete followerDELETEDeletes a follower. content is required: delete also removes everything they posted, reassign moves it to an anonymous user.
  • list_followersList followersGETLists followers (the end users who post and vote): idx, name, email and avatar, plus custom attributes and companies with include_attributes. Returns personal data.
  • search_followersSearch followersGETFinds followers by email address. Returns personal data (name, email, avatar), plus custom attributes and companies with include_attributes.
  • update_followerUpdate followerPOSTChanges a follower's name or email and merges custom attributes and companies into the existing ones. Leave a field out to keep it. Returns the follower.

Comment, 4 operations

  • create_commentCreate commentPOSTPosts a comment on an idea as follower author_idx: public on the board by default, or an internal note with is_private true. Returns the comment.
  • delete_commentDelete commentDELETEDeletes a comment or internal note.
  • list_commentsList commentsGETLists the comments of one idea, and its internal notes when included_types asks for them. Each has the message (raw, HTML, Markdown), its author follower and attachments.
  • update_commentUpdate commentPOSTReplaces the message of a comment or internal note. Returns the updated comment.

Status, 4 operations

  • create_statusCreate statusPOSTCreates an idea status with a name. Returns the status.
  • delete_statusDelete statusDELETEDeletes an idea status.
  • list_statusesList statusesGETLists the idea statuses of the account (idx, name, color). Pass an idx to create_idea, update_idea or list_ideas status_idxs[].
  • update_statusUpdate statusPOSTRenames an idea status. Returns the status.

Topic, 4 operations

  • create_topicCreate topicPOSTCreates a topic (tag) for ideas. Returns the topic.
  • delete_topicDelete topicDELETEDeletes a topic.
  • list_topicsList topicsGETLists the topics (tags) ideas can carry, with the number of ideas per topic and their order. Next page: after = pagination.endCursor.
  • update_topicUpdate topicPOSTRenames a topic. Returns the topic.

Vote, 3 operations

  • create_voteCreate votePOSTAdds a vote from follower voter_idx on an idea. Returns the vote.
  • delete_voteDelete voteDELETERemoves a follower's vote from an idea.
  • list_votesList votesGETLists votes with their voter and the idea voted on, filterable by idea or by follower. Next page: after = pagination.endCursor.

Integration link, 1 operation

  • list_integration_linksList integration linksGETLists links between ideas and external records (Zendesk tickets, Intercom conversations). Pass idea_idx for one idea or type for every link of one integration; one is required.

Use Frill from Claude Code, Cursor or Codex

Connect Frill in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Frill operations become tools the client can call, next to every other integration you connected.

Claude Code
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"
Codex (~/.codex/config.toml)
[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"

[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"
Cursor, Claude Desktop and other JSON configs
{
  "mcpServers": {
    "livecontext": {
      "type": "http",
      "url": "https://livecontext.ai/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Set up the MCP server step by step

How to connect Frill

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect Frill once

    Add your Frill connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.

  3. Describe the job in chat

    The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.

Frill integration FAQ

What can you do with the Frill integration?

LiveContext exposes 37 operations on Frill, covering idea, announcement, announcement category and follower.

Popular integrations

Browse the whole catalog