Skip to content

58. Actions - akcje w workflows

Poziom: Średni | Czas: 12 min

Actions to konkretne działania, które workflow wykonuje po uruchomieniu triggera. To właściwa "praca" automatyzacji.

Podstawowe Actions

1. Send Email

ACTION: Send Email

Settings:
- Template: Choose saved email template
- From: your@coachflow.pl
- Subject: "Welcome to Coachflow! 🚀"
- Track opens: ☑
- Track clicks: ☑

Dynamic fields:
Hi {{firstName}},

Thanks for joining! Your coach is {{assignedUser}}.

Book your intro call: {{calendarLink}}

Use cases:

  • Welcome sequences
  • Nurture campaigns
  • Appointment confirmations
  • Educational content

2. Send SMS

ACTION: Send SMS

Message (160 chars max):
"Hi {{firstName}}! Appointment tomorrow {{appointmentTime}}. 
Reply CONFIRM. - Coachflow"

Settings:
- From number: Choose Twilio number
- Track replies: ☑

Use cases:

  • Appointment reminders
  • Time-sensitive offers
  • Confirmation requests
  • Urgent alerts

3. Add Tag

ACTION: Add Tag

Tag: "nurture-sequence-completed"

Why use:
- Track workflow progress
- Segment contacts
- Prevent re-entry
- Trigger other workflows

Example flow:

Email sent → Add tag "email-1-sent"
2 days later → IF has tag "email-1-sent" → Send email 2

4. Remove Tag

ACTION: Remove Tag

Tag: "interested"

Use when:
- Contact opts out
- Workflow completed
- Status changed
- Cleaning up old tags

5. Add to Campaign

ACTION: Add to Campaign

Campaign: "Weekly Newsletter"

Enrolls contact in ongoing campaign
→ They receive all future broadcasts

6. Remove from Campaign

ACTION: Remove from Campaign

Campaign: "Trial Users"

Use when:
- Contact became customer (moved to different campaign)
- Contact opted out
- Workflow determined not interested

7. Update Contact Field

ACTION: Update Custom Field

Field: "Lead Score"
Value: +10

Or:

Field: "Last Workflow Date"
Value: {{currentDate}}

Or:

Field: "Status"
Value: "Qualified Lead"

Use cases:

  • Lead scoring
  • Status tracking
  • Data enrichment
  • Timestamp tracking

8. Assign Contact to User

ACTION: Assign to User

User: Round robin (equal distribution)
Or: Specific user (Anna Kowalska)
Or: Based on territory
Or: Lowest active contacts

Notifies assigned user:
"New lead assigned: Kamil W."

9. Create Task

ACTION: Create Task

Title: "Follow up: {{firstName}} {{lastName}}"
Description: "Contact showed interest in VIP package. Call within 24h."
Due date: Tomorrow at 10 AM
Assigned to: {{workflow.assignedUser}}
Priority: High

Task appears in user's dashboard

10. Create Opportunity

ACTION: Create Opportunity

Pipeline: Sales
Stage: Qualified Lead
Name: "{{firstName}} - Coaching Package"
Value: $500
Expected close: +14 days

Links opportunity to contact automatically

Communication Actions

11. Send Internal Notification

ACTION: Send Internal Notification

To: sales@coachflow.pl
Channel: Email + Slack

Message:
🚨 HOT LEAD ALERT!

Name: {{firstName}} {{lastName}}
Email: {{email}}
Source: {{source}}
Interested in: VIP Coaching

View contact: {{contactUrl}}

Use for:
- Sales alerts
- High-value lead notifications
- Workflow milestones
- Errors/issues

12. Create/Update Deal

ACTION: Update Opportunity

Opportunity: {{opportunityId}}
Stage: "Proposal Sent"
Value: $1,500 (increase from $500)
Note: "Upsold to premium package"

13. Book Appointment (Auto)

ACTION: Create Appointment

Calendar: "Sales Discovery Calls"
Date/Time: Based on contact's timezone, next available
Duration: 30 minutes
Assigned to: {{assignedUser}}
Send confirmation: ☑

Automatically books without manual intervention

Advanced Actions

14. Webhook (API Call)

ACTION: Webhook POST

URL: https://yourapi.com/new-lead
Method: POST

Body:
{
  "email": "{{email}}",
  "name": "{{firstName}} {{lastName}}",
  "phone": "{{phone}}",
  "source": "ghl-workflow"
}

Headers:
Authorization: Bearer YOUR_API_KEY

Use for:
- Send data to external systems
- Trigger integrations (Zapier, Make)
- Custom app notifications
- CRM syncing

15. HTTP Request

ACTION: HTTP Request

GET user data from external API:

URL: https://api.company.com/users?email={{email}}
Method: GET
Store response in: {{custom.apiData}}

Then use response in next actions

16. Wait / Delay

ACTION: Wait

Options:
- Fixed time: 2 days, 3 hours, 30 minutes
- Until specific time: Next Monday 9 AM
- Until condition met: Field "Status" = "Qualified"
- Smart delay: Until contact opens email (max 3 days)

Example sequence:
Send Email → Wait 2 days → Send Follow-up

17. If/Else Logic

ACTION: If/Else Branch

IF: {{leadScore}} > 50
  THEN:
    - Assign to senior rep
    - Send premium offer email
    - Create high-value opportunity
    
ELSE:
    - Add to nurture campaign
    - Send educational email series

18. Go To Action (Jump)

ACTION: Go To

Jump to: Action #12

Use for:
- Loops (careful!)
- Skip sections based on conditions
- Workflow routing

19. Add to Workflow

ACTION: Add to Another Workflow

Workflow: "Customer Onboarding"

When one workflow completes, chain to next:
Lead Nurture Workflow → (convert) → Customer Onboarding Workflow

20. Remove from Workflow

ACTION: Remove from Workflow

Workflow: "Trial User Nurture"

When:
- Contact purchased (exit trial workflow)
- Opt-out
- Manually disqualified

Combining Actions

Complex Example:

TRIGGER: Form "Free Coaching Assessment" submitted

ACTION 1: Send Email "Thank You + Calendar"
ACTION 2: Wait 5 minutes
ACTION 3: Send SMS "Got your request! Book time: {{link}}"
ACTION 4: Add Tag "assessment-requested"
ACTION 5: Update Custom Field "Lead Score" = +20
ACTION 6: If/Else
  IF Lead Score > 70:
    - Assign to senior coach
    - Create task "Call within 1 hour - HOT LEAD"
    - Send Slack notification
  ELSE:
    - Assign round robin
    - Create task "Call within 24 hours"
    
ACTION 7: Wait 24 hours
ACTION 8: If/Else
  IF Appointment NOT booked:
    - Send follow-up email "Need help finding time?"
    - Send SMS "Still interested? Quick 15 min call: {{link}}"
  ELSE:
    - Add tag "appointment-booked"
    - End workflow

Action Best Practices

Timing:

✅ Immediate: Confirmations, thank you's
✅ 5-10 min: Related content
✅ 1-2 hours: Follow-up offers
✅ 24-48h: Check-ins, reminders
✅ 7+ days: Re-engagement

❌ Avoid: Too frequent (spam)
❌ Avoid: Too late (lost interest)

Personalization:

✅ Use contact fields: {{firstName}}, {{company}}
✅ Use workflow data: {{appointmentTime}}, {{productInterest}}
✅ Dynamic content based on tags/fields
✅ GEO-based: timezone, language

❌ Generic "Dear customer"
❌ Wrong timezone
❌ Irrelevant content

Multi-Channel:

CRITICAL MESSAGE:
1. Email
2. Wait 1 hour
3. If email NOT opened → send SMS
4. If SMS no reply → create task for manual call

Ensures message doesn't get missed

Error Handling:

ACTION: Send SMS

IF SMS fails (invalid phone):
  → Send email instead
  → Tag "invalid-phone"
  → Create task "Update phone number"

Testing Actions

Workflow → Test Mode

1. Add yourself to workflow
2. Watch actions execute (fast-forward)
3. Check:
   ☑ Emails arrive?
   ☑ SMS send?
   ☑ Tags apply?
   ☑ Tasks create?
   ☑ Data updates?
   
4. Fix issues
5. Re-test
6. Go live

Action Metrics

Workflow Analytics:

ACTION: Send Email "Welcome"
- Sent: 487
- Delivered: 485 (99.5%)
- Opened: 298 (61%)
- Clicked: 87 (18%)

ACTION: Add Tag "email-1-sent"
- Applied: 485

ACTION: Wait 2 days
- Currently waiting: 124
- Completed: 361

ACTION: Send Email "Follow-up"
- Sent: 361
- Opened: 198 (55%)

Insight: 61% → 55% open rate decline
Action: Improve email 2 subject line

Następny krok: 59. Conditions - warunki if/then