# How a lobbyist gets a provision into a bill

> A process map exported from forks.world (https://forks.world). Author: Brian. Source: https://forks.world/p/cmv0kpo3y0034jn06tl7agqmm
> It describes who does what, in what order, and with which technology. Read the plain-language sections first; the JSON at the end is the exact, complete data.

## Summary

- 16 steps across 2 layers
- Persona: A client, A lobbyist, Congressional staff, A member of Congress, The public

## Pain points

Where this process hurts, worst first:

- **Reporters and watchdogs may notice it** (How a lobbyist gets a provision into a bill; painful): Debated: critics see undue influence; supporters see experts informing lawmakers

## How to read this file

- A process is made of **layers**. The main layer is the top level; any step of kind `subprocess` opens a detail layer with its own lanes and steps.
- **Lanes** are either persona (people/roles) or technology (systems). Each step belongs to one lane; `using` lists tools a person uses for that step.
- Step kinds: `start`, `task`, `decision` (its arrows carry the answer as a label), `subprocess`, `end`.

## How a lobbyist gets a provision into a bill

Lanes:
- A client: person / role (id `client`)
- A lobbyist: person / role (id `lobby`)
- Congressional staff: person / role (id `staff`)
- A member of Congress: person / role (id `member`)
- The public: person / role (id `public`)

Steps, in the order they run:

1. **A rule or a bill threatens, or could help, their business** [start; A client; id `l1`]
   - then Research the issue and the people who decide it
2. **Research the issue and the people who decide it** [task; A lobbyist; id `l2`]
   - then Register as a lobbyist and report spending
3. **Register as a lobbyist and report spending** [task; A lobbyist; id `l3`]
   - then Meet staff and members with data and stories
4. **Meet staff and members with data and stories** [subprocess; A lobbyist; id `l4`], opens the detail layer "The meeting"
   - then Is the argument useful and credible?
5. **Is the argument useful and credible?** [decision; Congressional staff; id `l5`]
   - if "Yes" go to Offer draft language; if "No" go to Come back with better evidence, or give up
6. **Offer draft language** [task; A lobbyist; id `l6`]
   - then Does a member agree to sponsor it?
7. **Does a member agree to sponsor it?** [decision; A member of Congress; id `l7`]
   - if "Yes" go to The language goes into a bill or an amendment; if "No" go to Find another sponsor or build a coalition
8. **The language goes into a bill or an amendment** [task; A member of Congress; id `l8`]
   - then Reporters and watchdogs may notice it
9. **Reporters and watchdogs may notice it** [task; The public; id `l9`] ⚠ PAIN POINT (painful): Debated: critics see undue influence; supporters see experts informing lawmakers
   - then It passes, changes or dies
10. **It passes, changes or dies** [end; A member of Congress; id `l10`]
11. **Find another sponsor or build a coalition** [task; A lobbyist; id `l7a`]
   - then Does a member agree to sponsor it?
12. **Come back with better evidence, or give up** [task; A lobbyist; id `l5a`]
   - then Is the argument useful and credible?

```mermaid
flowchart LR
  subgraph l_client["A client"]
    n_l1(["A rule or a bill threatens, or could help, their business"])
  end
  subgraph l_lobby["A lobbyist"]
    n_l2["Research the issue and the people who decide it"]
    n_l3["Register as a lobbyist and report spending"]
    n_l4[["Meet staff and members with data and stories"]]
    n_l5a["Come back with better evidence, or give up"]
    n_l6["Offer draft language"]
    n_l7a["Find another sponsor or build a coalition"]
  end
  subgraph l_staff["Congressional staff"]
    n_l5{"Is the argument useful and credible?"}
  end
  subgraph l_member["A member of Congress"]
    n_l7{"Does a member agree to sponsor it?"}
    n_l8["The language goes into a bill or an amendment"]
    n_l10(["It passes, changes or dies"])
  end
  subgraph l_public["The public"]
    n_l9["Reporters and watchdogs may notice it"]
  end
  n_l1 --> n_l2
  n_l2 --> n_l3
  n_l3 --> n_l4
  n_l4 --> n_l5
  n_l5 -->|"Yes"| n_l6
  n_l5 -->|"No"| n_l5a
  n_l5a --> n_l5
  n_l6 --> n_l7
  n_l7 -->|"Yes"| n_l8
  n_l7 -->|"No"| n_l7a
  n_l7a --> n_l7
  n_l8 --> n_l9
  n_l9 --> n_l10
```

### The meeting (detail of step "Meet staff and members with data and stories")

Lanes:
- A lobbyist: person / role (id `lobby`)
- Congressional staff: person / role (id `staff`)

Steps, in the order they run:

1. **Bring a one-page summary** [start; A lobbyist; id `m1`]
   - then Staff ask hard questions
2. **Staff ask hard questions** [task; Congressional staff; id `m2`]
   - then Follow up with data
3. **Follow up with data** [task; A lobbyist; id `m3`]
   - then Staff brief the member
4. **Staff brief the member** [end; Congressional staff; id `m4`]

```mermaid
flowchart LR
  subgraph l_lobby["A lobbyist"]
    n_m1(["Bring a one-page summary"])
    n_m3["Follow up with data"]
  end
  subgraph l_staff["Congressional staff"]
    n_m2["Staff ask hard questions"]
    n_m4(["Staff brief the member"])
  end
  n_m1 --> n_m2
  n_m2 --> n_m3
  n_m3 --> n_m4
```

## Full data (JSON)

```json
{
  "title": "How a lobbyist gets a provision into a bill",
  "maps": {
    "m_meet": {
      "id": "m_meet",
      "lanes": [
        {
          "id": "lobby",
          "name": "A lobbyist",
          "type": "person"
        },
        {
          "id": "staff",
          "name": "Congressional staff",
          "type": "person"
        }
      ],
      "steps": [
        {
          "id": "m1",
          "kind": "start",
          "lane": "lobby",
          "next": [
            {
              "to": "m2"
            }
          ],
          "uses": [],
          "label": "Bring a one-page summary"
        },
        {
          "id": "m2",
          "kind": "task",
          "lane": "staff",
          "next": [
            {
              "to": "m3"
            }
          ],
          "uses": [],
          "label": "Staff ask hard questions"
        },
        {
          "id": "m3",
          "kind": "task",
          "lane": "lobby",
          "next": [
            {
              "to": "m4"
            }
          ],
          "uses": [],
          "label": "Follow up with data"
        },
        {
          "id": "m4",
          "kind": "end",
          "lane": "staff",
          "next": [],
          "uses": [],
          "label": "Staff brief the member"
        }
      ],
      "title": "The meeting",
      "parent": {
        "map": "m_root",
        "step": "l4"
      }
    },
    "m_root": {
      "id": "m_root",
      "lanes": [
        {
          "id": "client",
          "name": "A client",
          "type": "person"
        },
        {
          "id": "lobby",
          "name": "A lobbyist",
          "type": "person"
        },
        {
          "id": "staff",
          "name": "Congressional staff",
          "type": "person"
        },
        {
          "id": "member",
          "name": "A member of Congress",
          "type": "person"
        },
        {
          "id": "public",
          "name": "The public",
          "type": "person"
        }
      ],
      "steps": [
        {
          "id": "l1",
          "kind": "start",
          "lane": "client",
          "next": [
            {
              "to": "l2"
            }
          ],
          "uses": [],
          "label": "A rule or a bill threatens, or could help, their business"
        },
        {
          "id": "l2",
          "kind": "task",
          "lane": "lobby",
          "next": [
            {
              "to": "l3"
            }
          ],
          "uses": [],
          "label": "Research the issue and the people who decide it"
        },
        {
          "id": "l3",
          "kind": "task",
          "lane": "lobby",
          "next": [
            {
              "to": "l4"
            }
          ],
          "uses": [],
          "label": "Register as a lobbyist and report spending"
        },
        {
          "id": "l4",
          "kind": "subprocess",
          "lane": "lobby",
          "next": [
            {
              "to": "l5"
            }
          ],
          "uses": [],
          "child": "m_meet",
          "label": "Meet staff and members with data and stories"
        },
        {
          "id": "l5",
          "kind": "decision",
          "lane": "staff",
          "next": [
            {
              "to": "l6",
              "label": "Yes"
            },
            {
              "to": "l5a",
              "label": "No"
            }
          ],
          "uses": [],
          "label": "Is the argument useful and credible?"
        },
        {
          "id": "l5a",
          "kind": "task",
          "lane": "lobby",
          "next": [
            {
              "to": "l5"
            }
          ],
          "uses": [],
          "label": "Come back with better evidence, or give up"
        },
        {
          "id": "l6",
          "kind": "task",
          "lane": "lobby",
          "next": [
            {
              "to": "l7"
            }
          ],
          "uses": [],
          "label": "Offer draft language"
        },
        {
          "id": "l7",
          "kind": "decision",
          "lane": "member",
          "next": [
            {
              "to": "l8",
              "label": "Yes"
            },
            {
              "to": "l7a",
              "label": "No"
            }
          ],
          "uses": [],
          "label": "Does a member agree to sponsor it?"
        },
        {
          "id": "l7a",
          "kind": "task",
          "lane": "lobby",
          "next": [
            {
              "to": "l7"
            }
          ],
          "uses": [],
          "label": "Find another sponsor or build a coalition"
        },
        {
          "id": "l8",
          "kind": "task",
          "lane": "member",
          "next": [
            {
              "to": "l9"
            }
          ],
          "uses": [],
          "label": "The language goes into a bill or an amendment"
        },
        {
          "id": "l9",
          "kind": "task",
          "lane": "public",
          "next": [
            {
              "to": "l10"
            }
          ],
          "pain": {
            "note": "Debated: critics see undue influence; supporters see experts informing lawmakers",
            "level": 2
          },
          "uses": [],
          "label": "Reporters and watchdogs may notice it"
        },
        {
          "id": "l10",
          "kind": "end",
          "lane": "member",
          "next": [],
          "uses": [],
          "label": "It passes, changes or dies"
        }
      ],
      "title": "How a lobbyist gets a provision into a bill",
      "parent": null
    }
  }
}
```
