Skip to content

Workflows

Automate multi-step outreach — a sequence of text, voice, and button messages sent with delays. Follow the steps below to build your first flow. Where relevant, a green ring highlights the button to click.

1. Open Workflows and click "+ New Workflow" to start.

Workflows

2. Pick an industry and language, then click Generate for a ready-made draft — or click "Blank workflow" to start from scratch.

New workflow

3. In Settings, name your workflow and tick which account(s) send it (leave all unticked = every account). Set entry triggers, conflict rules and exit keywords here too.

Set up the workflow

4. Scroll down and click the "+" to add a step, then choose its type — Send Text, Send Voice, a Menu, a Wait, an If / Else branch, and more. Add as many steps as you need, then Save.

Choose a step type

5. Back on the list, the 👤 button assigns which accounts run each workflow.

Assign accounts

6. Click "Enroll Contacts" to add people into the flow — it starts sending from step 1, following your delays.

Enroll contacts

Save leads to a Google Sheet

Log every new lead automatically — an Action Block step appends each contact's name, phone and time as a new row in your own Google Sheet.

1. In a workflow, add an Action Block step and tick "Save to Google Sheet", then choose which columns to save — Name, Phone, Date/Time, Tags, Workflow.

Action Block — Save to Google Sheet

2. Click "+ Add Google Sheet" to open the setup panel, then click "Copy script" — you'll paste it into Google in a moment.

Copy the Apps Script

3. In a new browser tab, open Google Sheets from the Google apps menu.

Open Google Sheets

4. Click "Blank spreadsheet" to create a new sheet.

Create a blank spreadsheet

5. In the sheet, open the Extensions menu and click "Apps Script".

Extensions → Apps Script

6. Delete any code already in the editor, paste the script below, then click the Save icon.

javascript
function doPost(e) {
  var sh = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var d = JSON.parse(e.postData.contents);
  sh.appendRow(d.values || [d.name, d.phone, d.datetime]);
  return ContentService
    .createTextOutput(JSON.stringify({ ok: true }))
    .setMimeType(ContentService.MimeType.JSON);
}

Paste the script and save

7. Click "Deploy" → "New deployment".

Deploy → New deployment

8. Click the gear icon next to "Select type" and choose "Web app".

Select type → Web app

9. Set "Execute as" to Me and "Who has access" to Anyone (this is critical — the app can't post to the sheet otherwise), then click Deploy.

Execute as Me, Who has access Anyone

10. Click "Authorize access" and pick your Google account.

Authorize access

11. On the "Google hasn't verified this app" screen, click "Advanced".

Click Advanced

12. Click "Go to FCT_Google_Sheet (unsafe)" to continue — this is your own script, so it's safe.

Go to the project (unsafe)

13. Review the permissions and click "Continue" to allow access.

Allow access

14. Copy the Web app URL it gives you (it ends with /exec), then click Done.

Copy the Web app URL

15. Back in FCT CRM, give the sheet a name, paste the Web app URL, and click Save.

Paste the URL and save

16. Select your new sheet from the dropdown.

Select the sheet

17. Confirm the columns to save, then click Save at the top to finish.

Confirm columns and save

18. Done — each new lead now appends a row (name, phone, date/time) to your Google Sheet.

A lead row appended to the sheet