Product Guide

Integrations

PollsLive connects to your existing workflow through a REST API, real-time webhooks, embeds, Zapier automations, and a full OAuth 2.0 flow for SaaS platforms.

Overview

IntegrationBest forPlan required
REST APIProgrammatic poll creation & resultsPro
WebhooksReal-time event notificationsPro
Embed (iframe)Polls inside your websiteFree
ZapierNo-code automation workflowsFree
SlackShare polls & results in channelsFree
OAuth 2.0SaaS platforms, multi-tenant appsPro

REST API

The PollsLive REST API lets you create polls, record responses, control live sessions, and pull results - all programmatically. Authenticate with a Bearer API key or OAuth 2.0 access token.

Quick example
curl -X POST https://pollslive.com/api/v1/polls \
  -H "Authorization: Bearer $POLLSLIVE_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "title": "Team sync vote", "content": { "questions": [...] } }'

Developer guide → · API reference →

Webhooks

Subscribe to events and receive signed HTTP POST payloads to your endpoint. Events include poll.published, session.started, response.created, and more.

All payloads are HMAC-SHA256 signed using your webhook secret. Verify the signature before processing the event.

Set up webhook endpoints in Studio → Developer API → Webhooks or via the API.

Full webhook guide →

Embed

Embed any published poll in any website using an <iframe> or the lightweight pollslive-embed.js widget. Copy the snippet from Studio → Share → Embed.

JavaScript widget
<div id="pollslive-poll"></div>
<script
  src="https://pollslive.com/pollslive-embed.js"
  data-poll="your-slug"
  data-target="pollslive-poll"
  data-height="480"
  async
></script>
iframe snippet
<iframe
  src="https://pollslive.com/embed/your-slug"
  width="100%" height="480" frameborder="0">
</iframe>

The embed is fully responsive and interactive. See also the integrations page.

Sharing & embedding guide →

Zapier

A native PollsLive Zapier app is on the roadmap. Today you can already connect PollsLive to 6000+ apps using Zapier's built-in Webhooks by Zapier:

Triggers (PollsLive → your apps) - point a PollsLive webhook at a “Catch Hook” Zap to fire on:

  • poll.published, poll.closed
  • response.created, vote.created
  • session.started, session.ended

Actions (your apps → PollsLive) - use a “Custom Request” action against the REST API with your API key:

  • Create a poll from a Google Sheet row, Notion page, Airtable record, etc.
  • Publish a poll
  • Pull results (CSV export) into Google Sheets

Slack

Share links: paste a poll link into any Slack channel - it unfurls with the poll title. Voters click through without installing an app.

Slash command: install the PollsLive Slack app and use /pollslive to get a quick-create link. Configure:

  • Slash command URL → /api/integrations/slack/command
  • Events request URL → /api/integrations/slack/events (handles URL verification)

Requires SLACK_SIGNING_SECRET in your environment. Test locally: SLACK_SIGNING_SECRET=… BASE_URL=http://127.0.0.1:3100 node scripts/test-slack-integration.mjs

Automated alerts: point a PollsLive webhook at a Slack Incoming Webhook (Studio → Integrations), or build on the REST API.

Enterprise (Zoom, Meet, LTI, SSO)

Marketplace manifests and setup guides for Zoom, Google Meet, PowerPoint, Google Slides, LTI 1.3 (Canvas/Moodle), SAML SSO, and Microsoft Teams live at /integrations/enterprise.

  • SAML SP metadata → /api/integrations/saml/metadata
  • LTI launch URL → /api/integrations/lti/launch
  • Zoom manifest → /api/integrations/zoom/manifest
  • Teams manifest → /api/integrations/teams/manifest

OAuth 2.0 (SaaS / platform integrations)

If you're building a SaaS product that integrates PollsLive for your customers, use the OAuth 2.0 Client Credentials flow. Create a separate OAuth client per customer workspace - each client gets its own scoped access token.

Get a token
POST /api/oauth/token
Content-Type: application/x-www-form-urlencoded

grant_type=client_credentials
&client_id=plv_cid_…
&client_secret=plv_cs_…
&scope=polls:read polls:write

Tokens expire after 1 hour. Re-request when expiry approaches. No refresh token needed - the client credentials are the long-lived secret.

Full OAuth 2.0 guide →

Still have questions?

Our team is happy to help.

Contact us
Integrations - PollsLive Docs | PollsLive