# How TextWork begins a conversation

A conversation starts when someone reaches a script you have already set up. That happens when they text a join code to your company number, a webhook arrives from SmartRecruiters or Zillow, you forward an Indeed application email, or they use something you embedded on your own site (a chat widget, a booking widget, or a form).

The conversation is saved on your company. Texts show up on the contact who sent or received them. A chat widget saves the thread on the person your page names, or on a contact named Website visitor when the page does not. [Website widgets](/docs/website-widgets) covers the embed and how to pass a name, email, and phone.

## Join codes

A join code is a short phrase someone texts to your company number. TextWork matches the words, creates them as a contact if they are new, and starts the script you attached. There is no `JOIN` prefix. A phrase like `apply` or `clean green building` is the whole code. Spaces and hyphens are the same code.

Create one under Company Settings, on the Team tab, in the Join Codes card.

1. Open Company Settings and choose Team.
2. Choose New. First choose where the agent is deployed, then how a session starts, then which script runs. Confirm the reports that script fills and any actions already linked to those reports. Deploy for many follows the channel you picked: a phrase to text, a signup page, a form, a chat embed, or a connection from Indeed, SmartRecruiters, or Zillow. Deploy for your team uses the signup page, asks you to limit how many people can use it, and points you at granting admins access to those report types.
3. Leave the phrase blank to generate one from your word list, or type your own. You can also set a maximum number of uses.
4. Copy the share line. It reads like `Text apply to (your number) to get started.` Put that on a flyer, a job post, a QR code, or your site.

A new number does not have a name on file yet, so the script should ask. Someone who already exists is greeted and the script starts again.

A number TextWork does not know, that texts something other than a join code, gets one reply: "This is TextWork. Reply with your join code to get started." That prompt goes out at most once a day. After that the number stays quiet until they send a real code.

## Integrations

You pick the script in Company Settings, under Integrations. TextWork texts the person only when a phone number is included. No phone means it is saved and skipped, and no conversation starts.

[SmartRecruiters](/docs/smartrecruiters) is an applicant tracking system that can post the job to a listing site, then tell TextWork when someone applies. A job you posted in Indeed itself starts from the application email. [Indeed](/docs/indeed) is that setup. [Listing sites](/docs/listing-sites) covers what happens on the boards.

### Indeed

Indeed emails you when someone applies. Forward that email, and TextWork reads the phone number on it. The setup, and what happens when the email has no phone number, is on [Indeed](/docs/indeed).

### SmartRecruiters

SmartRecruiters notifies TextWork with a webhook when someone applies. The setup, and what happens when the application has no phone number, is on [SmartRecruiters](/docs/smartrecruiters).

### Zillow

Zillow Rentals delivers a lead to TextWork by webhook. The setup, and what happens when the lead has no phone number, is on [Zillow](/docs/zillow).

## Website widgets

A chat widget, a booking widget, or a form can sit on your own site. How to paste the embed, which sites are allowed, and how a chat learns the visitor's name, email, and phone is in [Website widgets](/docs/website-widgets).
