Start Your Agency Starting an agency? Get 90 days free on Business, plus training to land your first client New agency? 90 days free on Business · 90 days

Variables

Variables fill in real details when a message is sent, like the contact's first name. They always have a prefix and one pair of curly braces, for example {lead.first_name}. Type { in any message box to pick one.

Your own custom variables work the same way: {custom_variable.your_key} for a lead, {client_variable.your_key} for a client and {agency_variable.your_key} for your whole agency. Each trigger also adds its own variables, listed on its trigger page.

Lead

{lead.name} Full name (first + last). Use {lead.first_name} for first name only.
{lead.first_name} First name (split from full name)
{lead.last_name} Last name (split from full name)
{lead.email} Email address
{lead.phone} Phone number
{lead.gender} Gender for salutation routing (Mr/Ms/they)
{lead.timezone} Lead's timezone (e.g. America/New_York)
{lead.country} Country code of the lead
{lead.opt_in_method} How the lead opted in (DM, form, etc.)
{lead.opt_in_date} Date the lead opted in - e.g. March 15, 2026
{lead.opt_in_date_datetime} Opt-in date with time - e.g. March 15, 2026 at 2:30 PM
{lead.opt_in_date_time} Just the time of opt-in - e.g. 2:30 PM
{lead.created_date} Date the lead was added to the CRM
{lead.created_date_datetime} Created timestamp with time - e.g. March 15, 2026 at 2:30 PM
{lead.username} Instagram @username
{lead.followers} Number of Instagram followers
{lead.verified} Whether the account is verified (true/false)
{lead.follows_us} Whether the lead follows the business account (true/false)
{lead.score} AI lead score 0-100
{lead.source} Acquisition source (e.g. hashtag, competitor)
{lead.source_type} Type of source (organic, paid, referral)
{lead.tags} Comma-separated list of tags assigned to this lead
{lead.utm_source} Where the lead came from - e.g. instagram_dm, email, chatgpt.com
{lead.utm_medium} Channel type - e.g. social, cpc, email
{lead.utm_campaign} Which campaign brought this lead in
{lead.utm_term} Paid keyword the lead searched, when the link carried one
{lead.utm_content} Which creative or link variant was clicked
{lead.referrer_url} The page the lead arrived from
{lead.appointment_date} The booked appointment date - e.g. March 15, 2026. Resolves from the booking on appointment triggers.
{lead.appointment_date_datetime} Appointment date WITH time - e.g. March 15, 2026 at 2:30 PM. Use this when you want to show the exact booked slot.
{lead.appointment_date_time} Just the time portion - e.g. 2:30 PM
{lead.appointment_date_day} Day of the week - e.g. Saturday
{lead.appointment_date_day_short} Short day of the week - e.g. Sat
{lead.appointment_date_month} Month name only - e.g. March
{lead.last_contacted} Date last contact was made (date only — the source column carries no time)
{lead.last_contacted_time} Time of last contact - e.g. 2:30 PM
{lead.notes} CRM notes about the lead (useful as AI step context)
{lead.opt_in_content} The keyword/content that triggered the lead\
{lead.last_message} Text of the most recent message with this contact, sent or received
{lead.last_inbound_message} Text of the most recent message the contact sent you
{lead.last_message_channel} Where the last message was - e.g. Instagram, WhatsApp, SMS
{lead.last_message_at} When the last message was - e.g. March 15, 2026 at 2:30 PM
{lead.last_inbound_message_at} When the contact last wrote to you
{lead.company} Company name (from enrichment or the dialer)
{lead.conversation_summary} AI summary of the conversation so far
{lead.website} Website of the lead or their business
{lead.city} City of the lead or their business
{lead.region} State or region

Your agency

{agency.name} Your company or agency name
{agency.email} Support or contact email
{agency.calendar} Booking link (Calendly, Cal.com, etc.)
{agency.owner_first_name} Agency owner's first name - for personal outreach

Client

{client.name} Name of the client this workflow is running for
{client.company} Client's company name
{client.email} Client's company email
{client.phone} Client's company phone
{client.website} Client's website URL
{client.industry} Client's industry
{client.niche} Client's niche
{client.timezone} Client's timezone
{client.currency} Client's currency code (e.g. USD)
{client.logo} Client's logo / avatar URL
{client.status} Status of the client
{client.business_description} AI/onboarding description of the client business
{client.intake_link} The link this client uses to complete onboarding
{client.meta_pixel_id} The client's Meta pixel (dataset) ID, from the Default Conversions API connection on their Tracking tab.
{client.ga4_measurement_id} The client's Google Analytics 4 measurement ID (G-...), from the Default GA4 connection on their Tracking tab.
{client.tiktok_pixel_id} The client's TikTok pixel code, from the Default TikTok connection on their Tracking tab.

Connected account

{account.username} Instagram username of the outreach account sending this message
{account.id} Id
{account.status} Status
{account.type} Type

Date and time

{time.today} Current date - e.g. March 2, 2026
{time.now} Current time - e.g. 2:30 PM
{time.datetime} Full timestamp - e.g. 2026-03-02 14:30:00
{time.year} Current year - e.g. 2026
{time.month} Current month name - e.g. March
{time.weekday} Day of the week - e.g. Monday
{time.date_iso} ISO 8601 date - e.g. 2026-03-02 (for API calls)
{time.hour} 24h hour 0-23 - useful for time-of-day routing

Pipeline

{pipeline.id} UUID of the pipeline the lead is in - use in custom code or API calls
{pipeline.name} Name of the pipeline (e.g. "Sales Pipeline")
{pipeline.description} Description of the pipeline
{pipeline.stage_id} UUID of the current pipeline stage
{pipeline.stage_name} Internal name of the current stage
{pipeline.stage_display_name} The lead's current stage as shown in the pipeline — use this rather than {lead.stage}, which does not resolve.
{pipeline.stage_order} Numeric order of the stage in the pipeline (1, 2, 3...)
{pipeline.is_terminal} Whether this stage is a terminal/end stage (true/false)
{pipeline.is_won} Whether this is a positive (won) terminal stage (true/false)

Opportunity

{opportunity.name} Name of the deal
{opportunity.value} Deal value in your currency - e.g. $1,500
{opportunity.stage} Stage the deal is in
{opportunity.status} open, won, lost or abandoned
{opportunity.pipeline} Pipeline the deal is in
{opportunity.owner.name} Team member assigned to the deal
{opportunity.owner.first_name} Assigned team member's first name
{opportunity.owner.email} Assigned team member's email
{opportunity.owner.phone} Assigned team member's phone
{opportunity.followers} Names of the team members following the deal, comma-separated
{opportunity.followers_emails} Emails of the team members following the deal
{opportunity.id} UUID of the deal - for custom code or API calls

Trigger

{trigger.dm_received.message_content} Content of the DM that triggered this workflow
{trigger.message_content} Content of the message (backward compat)
{trigger.sender_username} Instagram username of who sent the trigger DM
{trigger.contact_name} Full name of the triggering contact
{trigger.contact_username} Instagram username of the triggering contact
{trigger.contact_email} Email of the triggering contact
{trigger.comment_posted.comment_text} Content of the comment that triggered this workflow
{trigger.comment_text} Content of the comment (backward compat)
{trigger.post_url} URL of the post that was commented on
{trigger.tag_name} Name of the tag applied to trigger this workflow
{trigger.form_submitted.form_id} ID of the form submission that triggered this workflow
{trigger.form_submitted.form_name} Name of the form that was submitted
{trigger.form_submitted.qualified} Whether the lead qualified based on form logic (true/false)
{trigger.form_submitted.instagram_account_id} First Instagram account ID linked to this form (backwards compat)
{trigger.form_submitted.instagram_account_ids} All Instagram account IDs linked to this form (array)
{trigger.form_id} Form ID (backward compat)
{trigger.form_name} Form name (backward compat)
{trigger.old_stage} Previous pipeline stage (opportunity_stage_changed trigger)
{trigger.new_stage} New pipeline stage (opportunity_stage_changed trigger)
{trigger.pipeline_id} ID of the pipeline (opportunity triggers)
{trigger.stage_id} ID of the current pipeline stage (opportunity triggers)
{trigger.opportunity_id} ID of the pipeline opportunity that triggered this workflow
{trigger.opportunity_name} Name of the pipeline opportunity
{trigger.value} Deal value from the opportunity trigger
{trigger.type} Type of event that fired this workflow
{trigger.appointment_local} e.g. "August 23, 2026 at 2:00 PM CEST". Use this in messages to the contact. Appointment triggers only.
{trigger.appointment_local_date} e.g. "August 23, 2026". Appointment triggers only.
{trigger.appointment_local_time_tz} e.g. "2:00 PM CEST". Appointment triggers only.
{trigger.appointment_host} The same meeting in your calendar’s timezone — for internal notifications. Appointment triggers only.
{trigger.appointment_host_date} e.g. "August 23, 2026". Appointment triggers only.
{trigger.appointment_host_time_tz} e.g. "8:00 AM EDT". Appointment triggers only.
{trigger.meeting_topic} Title of the booking, e.g. "Discovery call". Appointment triggers only.
{trigger.timezone} Booker's selected timezone (IANA, e.g. America/Los_Angeles). The formatted variables above already include the zone. Appointment triggers only.
{trigger.duration_minutes} Length of the appointment in minutes. Appointment triggers only.
{trigger.meeting_url} Zoom / Google Meet / Calendly link, when an integration is connected. Empty when no integration is configured.
{trigger.add_to_calendar_url} One link the contact taps to save the meeting in Google, Apple or Outlook. Stays correct if the meeting is moved or cancelled. Appointment triggers only.
{trigger.google_calendar_url} Opens Google Calendar with the meeting filled in. Appointment triggers only.
{trigger.ics_url} Downloads the meeting as a calendar file (Apple Calendar, Outlook and others). Appointment triggers only.
{trigger.appointment_id} Internal ID of the appointment. Appointment triggers only.
{trigger.appointment_type} Type of appointment (call, demo, etc.). Appointment triggers only.