Integrations (Webhooks)

Connect Moqup to Slack and Discord for real-time notifications.

Moqup supports outgoing webhooks to Slack and Discord, allowing your team to receive real-time notifications when events occur in your projects.

Note: Webhooks are configured through the dashboard, not via API. This page documents how integrations work and what events are available.

Overview

Moqup can send notifications to:

  • Slack - Using incoming webhooks
  • Discord - Using webhook URLs

When configured events occur, Moqup automatically sends formatted messages to your channels.

Setting Up Integrations

Via Dashboard

  1. Go to Settings > Integrations
  2. Click Add Integration
  3. Choose Slack or Discord
  4. Paste your webhook URL
  5. Select the events you want to receive
  6. Click Save

Getting Webhook URLs

  1. Go to your Slack workspace settings
  2. Create an incoming webhook app
  3. Copy the webhook URL
  1. Open channel settings
  2. Go to Integrations > Webhooks
  3. Create a webhook and copy the URL

Available Events

EventDescription
file_uploadedNew file uploaded to a project
new_annotationNew annotation added to a file
annotation_replyReply added to an annotation thread
annotation_resolvedAnnotation marked as resolved
status_changedFile status changed (approved, rejected, etc.)
project_sharedProject shared with someone
project_viewedProject viewed by a client

Message Formats

Slack Messages

Notifications are formatted using Slack Block Kit for rich formatting:

  • Header: Event type and project name
  • Content: Details about the event (file name, comment text, etc.)
  • Context: Timestamp and author
  • Action button: Link to view the item in Moqup

Discord Messages

Notifications use Discord embeds with:

  • Title: Event type and project name
  • Description: Event details
  • Fields: Author, project, status, etc.
  • Color: Orange (#FF6B35) for Moqup branding
  • Timestamp: When the event occurred

Example Payloads

New Annotation (Slack)

json
{
  "text": "Nouvelle annotation sur Website Redesign",
  "blocks": [
    {
      "type": "header",
      "text": {
        "type": "plain_text",
        "text": "Nouvelle annotation sur Website Redesign"
      }
    },
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": "*John Reviewer* a ajoute un commentaire:\n\n> Please adjust the spacing here"
      }
    },
    {
      "type": "actions",
      "elements": [
        {
          "type": "button",
          "text": { "type": "plain_text", "text": "View feedback" },
          "url": "https://moqup.io/share/..."
        }
      ]
    }
  ]
}

File Uploaded (Discord)

json
{
  "embeds": [
    {
      "title": "New file on Website Redesign",
      "description": "**homepage-hero.png**",
      "color": 16737280,
      "fields": [
        { "name": "Type", "value": "Image", "inline": true },
        { "name": "Version", "value": "v1", "inline": true },
        { "name": "Uploaded by", "value": "Sarah Designer", "inline": true }
      ],
      "url": "https://moqup.io/share/...",
      "timestamp": "2025-01-10T14:30:00Z"
    }
  ]
}

Retry Policy

If a webhook delivery fails, Moqup retries with exponential backoff:

AttemptDelay
1Immediate
21 second
32 seconds
44 seconds
58 seconds

After 3 failed attempts, the delivery is abandoned. Rate-limited responses (429) are automatically retried after the specified delay.

Testing Your Integration

After setting up an integration, use the Test Connection button in Settings > Integrations to send a test message to your channel.

Troubleshooting

Messages Not Arriving

  • Webhook URL is correct
  • The integration is enabled
  • Selected events match what you're testing
  • Your Slack/Discord channel hasn't been deleted

Rate Limiting

Both Slack and Discord have rate limits. Moqup handles these automatically by waiting and retrying. If you have very high activity, some notifications may be delayed.

Next Steps

  1. Rate Limits - API limits
  2. Authentication - API access
  3. API Overview - Getting started