Docs / Connect your tools

Connect FreeScout

Turn new FreeScout conversations into Repile tickets, each with an internal note and a drafted reply.

Each new FreeScout conversation becomes a ticket in Repile. The agent works the problem and writes an internal note and a draft reply back into FreeScout. Nothing reaches your customer until a person on your team sends it.

Before you start

You need:

  • Admin access to your FreeScout install.
  • Your Repile address, for example https://your-repile-domain.
  • One of two FreeScout modules:
  • The free Repile module, with real-time sync, @Repile mentions in notes and a Repile panel on each ticket.
  • FreeScout's paid API & Webhooks module.

Option 1: Connect with the Repile module

  1. In Repile, open Settings, then FreeScout under Inboxes. The Connection tab opens.
  2. Set Connection to Repile module.
  3. Click Download Repile.zip.
  4. Unzip it into the Modules folder of your FreeScout install.
  5. In FreeScout, open Manage > Modules and turn the module on.
  6. In FreeScout, open Manage > Settings > Repile.
  7. Copy the Repile address from Repile and paste it into the Repile URL field on the module's settings page.
  8. Copy the API key and webhook secret from the module's settings page.
  9. In Repile, fill in FreeScout URL (for example https://support.example.com), API key and Webhook secret.
  10. Click Test. Repile shows how many mailboxes it can reach.

With the Repile module, notes and drafts are written as the Repile user in FreeScout.

Option 2: Connect with the API & Webhooks module

  1. In Repile, open Settings, then FreeScout under Inboxes.
  2. Set Connection to FreeScout API & Webhooks module.
  3. In FreeScout, open Manage > Settings > API & Webhooks and copy the API key.
  4. In Repile, fill in FreeScout URL and API key.
  5. Enter a long random string in Webhook secret. Use the same secret in FreeScout.
  6. Fill in Agent FreeScout user ID. This is the number in that user's profile URL. Repile writes notes, drafts and status changes as this user.
  7. Copy the Webhook URL from Repile. It looks like this:
https://your-repile-domain/api/v1/plugins/freescout/http/webhook
  1. In FreeScout, add a webhook at Manage > Settings > API & Webhooks with that URL and the same secret.
  2. Tick these events: convo.created, convo.customer.reply.created, convo.agent.reply.created, convo.status, convo.assigned and convo.deleted.
  3. Click Test in Repile.

Choose where tickets go

Open the Routing tab.

  • Under Mailboxes, pick a project for each FreeScout mailbox. Pick Not triaged to turn a mailbox off.
  • Under Fallback project, set Project fallback. Mailboxes without their own project use it. If you leave it empty, Repile uses your personal project.

Choose what counts as a ticket

Open the Filtering tab.

  • Ignored senders: add addresses or domains, one per line, whose new conversations never become tickets. A domain also covers its subdomains.
  • Filter real support cases: turn this on to skip mail that is not a support case. The tab shows how many conversations were skipped this week. Click Review to see them.

Repile always skips spam, bounces, auto-replies, no-reply senders, WordPress site notices and Stripe payout or legal notices. It also skips conversations your team started. Disputes, chargebacks and fraud alerts always reach the agent unless they are a bounce or auto-reply, or the sender is ignored.

On the Instructions tab, write the steps, the note and the draft reply you want on every ticket.

What happens after you connect

  • Each new conversation starts a ticket thread in Repile. Customer replies reach the same thread.
  • The agent's notes and drafts show as cards in the thread.
  • With the Repile module, a draft card has Edit, which rewrites the draft in FreeScout, and Press send, which sends it to the customer as the Repile user. With the paid module, draft cards are read-only. You send the draft from FreeScout.
  • With the Repile module, mention @Repile in a FreeScout note to ask the agent something.
  • Each ticket shows the same Active, Pending or Closed status as its FreeScout conversation. Spam counts as Closed. A deleted conversation archives its thread.
  • Repile also checks open tickets every 15 minutes. To check now, click Sync ticket status on the Connection tab.

Troubleshooting

  • Header says "Webhook secret missing": fill in Webhook secret. Without it, Repile rejects every inbound event.
  • Header says "Agent user ID missing": fill in Agent FreeScout user ID.
  • New tickets do not appear: make sure the webhook secret is the same in FreeScout and Repile. With the Repile module, Repile also rejects events more than five minutes old, so check the clock on your FreeScout server.
  • Test fails: check the FreeScout URL and API key. Repile shows the error from FreeScout.

Stuck on a step? Write to [email protected] and the person who built Repile answers.